Activity的跳转和关闭问题
2012-11-05 22:10 bitfairyland 阅读(1048) 评论(0) 编辑 收藏 举报最近一直忙,也因为懒,呱,好久没更新博客了
刚写了个问卷的小客户端,里边频繁的窗体跳转和消息传递保存,就设计到了Activity的关闭与打开的问题
最后决定用栈来解决这个问题
栈的定义就不解释,解决方案如下
1)在Application定义一个Activity栈
public class QuestinnaireAPP extends Application
private static Stack<Activity> activityStack = new Stack<Activity>();
2)定义一个入栈的方法
public void pushActivity(Activity activity) { activityStack.add(activity);
}
3)定一个除当前Activity关闭当前栈中其它Activity的方法
public void curActivity(Activity activity) { for (Activity a : activityStack) { if(!a.equals(activity)){ a.finish(); } }
}
4)关闭栈中指定的Activity的方法
public void cancelActivity(int iA) { activityStack.get(iA).finish();
}
5)关闭应用程序所有Activity
public void popAllActivity() {
for (Activity activity : activityStack) {
activity.finish();
}
System.exit(0);
}
在Activity的启动的时候把窗体压入栈
QuestinnaireAPP.getScreenManager().pushActivity(this);