Bạn sẽ phải lưu trữ các trường hợp của tất cả 5 hoạt động trong một lớp học phổ biến, và thêm một onBackPressed()
trong mọi hoạt động, mà sẽ gọi một phương thức trong lớp thông thường mà sẽ gọi activity.finish()
trên mỗi trong số 5 Hoạt động.
Ví dụ:
class Activity1 extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MyController.getInstance().setActivity1(this);
}
public void onBackPressed() {
MyController.getInstance().closeAllActivities();
super.onBackPressed();
}
}
Tương tự như vậy, hãy viết cho Activity2, Activity3, và vân vân. Và, lớp MyController sẽ trông như thế này:
class MyController {
private static MyController instance;
private Activity activity1, activity2, activity3, activity4, activity5;
private MyController() {}
public static synchronized MyController getInstance() {
if(instance == null) {
instance = new MyController;
}
return instance;
}
public void setActivity1(Activity activityObject) { activity1 = activityObject; }
public void setActivity2(Activity activityObject) { activity2 = activityObject; }
public void setActivity3(Activity activityObject) { activity3 = activityObject; }
public void setActivity4(Activity activityObject) { activity4 = activityObject; }
public void setActivity5(Activity activityObject) { activity5 = activityObject; }
public void closeAllActivities() {
if(activity1 != null) {
activity1.finish();
}
if(activity2 != null) {
activity2.finish();
}
if(activity3 != null) {
activity3.finish();
}
if(activity4 != null) {
activity4.finish();
}
if(activity5 != null) {
activity5.finish();
}
}
}
Ow, và tôi nghĩ rằng cách gõ "trở lại" và "android" ở đây trên stackoverflow sẽ cung cấp cho bạn rất nhiều hit tương tự .... – Nanne
Wow- làm thế nào để bạn nhận được những loại câu trả lời này cho câu hỏi của bạn và thậm chí không chấp nhận câu trả lời? – IcedDante