管理所有的活动,需要加一个ActivityCollector的类
代码如下,
public static List<Activity> activities=new ArrayList<Activity>();
public void addActivity(Activity activity){
activity.add(activity);
}
public void removeActivity(Activity activity){
activity.remove(activity);
}
public void finishAll(){
for(Activity activity:activities){
if(!activity.isfinish()){
activity.finish();
}
}
}
里面有两句的语法不是很明白
public static List<Activity> activities=new ArrayList<Activity>();
for(Activity activity:activities){
其实在java学习中好像也见过。不过现在忘了,记得补习java 啊!!!
然后需要新建一个baseactivity ,在里面的oncreate方法里面加入ActivityCollector.addActivity(this);
在ondestory方法里面,加入ActivityCollector.removeActivity(this);
让所有的活动就继承自这个baseactivity
在需退出程序的地方,加入这样的方法ActivityCollector.finishALL();
这样就可以很方便的随时退出程序,不用一定要按很多次的back键
我是在接着上一个使用intent传递数据的工程上做的。
我设置了MAIN和second和third三个活动。在main中设置了两个按键用于打开second和third活动,在third里面用了ActivityCollector.finishall();的方法
最开始,不能打开third这个活动。。折腾了一上午,也没有原因。。。。
后来发现,是我在second和third中均设置了相同的按键id btnBackToMainActivity,当在后面加入了fromSecond和fromThird后,就可以了
网上查了一下,有人研究了这样的问题的,说有时候可以有时候不行。。。老实说没看明白,也不想明白了,
以后设置ID一定要不一样!!
以后设置ID一定要不一样!!
以后设置ID一定要不一样!!