需求
1.首先进入A界面,然后打开B界面,然后打开C界面......最后在C界面直接回到A界面...但是要同时把BC界面关掉
public class AActivity extends Activity {
private Context context = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onDestroy() {
super.onDestroy();
}
public void a(View v) {
startActivity(new Intent(context, BActivity.class));// 1.
}
}
public class BActivity extends Activity {
private Context context = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.b_main);
ActivityManager.getInstance().addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityManager.getInstance().exit();
}
public void b(View v) {
startActivity(new Intent(context, CActivity.class));
}
}
public class CActivity extends Activity {
private Context context = this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.c_main);
ActivityManager.getInstance().addActivity(this);
}
@Override
protected void onDestroy() {
super.onDestroy();
ActivityManager.getInstance().exit();
}
public void c(View v) {
ActivityManager.getInstance().exit();
}
}
public class ActivityManager {
private List<Activity> activityList = new LinkedList<Activity>();
private static ActivityManager instance;
private ActivityManager() {
}
// 单例模式中获取唯一的MyApplication实例
public static ActivityManager getInstance() {
if (null == instance) {
instance = new ActivityManager();
}
return instance;
}
// 添加Activity到容器中
public void addActivity(Activity activity) {
activityList.add(activity);
}
// 遍历所有Activity并finish
public void exit() {
for (Activity activity : activityList) {
activity.finish();
}
// System.exit(0);//退出程序
}
}
xml..就是3个....a按钮,b按钮,c按钮..用于界面的跳转