theo dõi

Gần nhất :

Tags

Thống kê câu hỏi

Chuyên mục : Lập trình
Topic : Android
Hỏi lúc:
Lượt xem: 2,504

Làm thế nào để startActivity A lại mà không tạo ra đối tượng mới?

Thanh  Thinh Thanh Thinh
 57  26  62

Cái activity stack của em thế này A -> B -> C -> D
Bây giờ em muốn khi ấn back từ D thì nó về A thì làm thế này

Intent i = new Intent(D.this, A.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i);

Nhưng mà activity A bị recreate lại có cách nào ngăn ko cho nó recreate ko ạ.

2,504 xem 01 theo dõi 00 hữu ích hỏi –

Bạn biết ai đó có thể trả lời câu hỏi này?. Bạn có thể giúp đỡ bằng cách tìm những người giỏi nhất:

user user user user user

Thanh  Thinh Thanh Thinh
 57  26  62

Bạn thử thêm thuộc tính android:launchMode="singleTask" vào activity ở AndroidManifest.xml 

kết hợp với

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

Thuộc tính Intent.FLAG_ACTIVITY_CLEAR_TOP: Nếu activity đã có trong stack thì nó sẽ clear các activity khác trên đỉnh của nó và mở lại activity đó. Khi này nó sẽ gọi hàm onNewIntent() chứ không gọi hàm onCreate() 

2,210 xem 00 hữu ích trả lời –