关闭

Activity一键退出的简单实现

104人阅读 评论(0) 收藏 举报
分类:

先定义一个类(这里名字任意,先取名为Back)

成员属性:public static List<Activity> list=new ArrayList<>();

成员方法:1>public static void addActivity(Activity activity){

list.add(activity);

}

2>public static void removeActivity(Acitivity activity){

list.remove(activity);

}

3>public static void removeAllActivity(){

for(Activity acitivity:list){

acitivity.finish();

}

}

然后写一个基类,继承Activity

在onCreate方法里面加上Back.addActivity(this);

在onDestroy方法里面加上Back.removeActivity(this);

然后再创建的Activity都继承这个基类,每个Activity都会继承父类的onCreate方法和onDestroy方法(在父类那边写的好处就是不用每个Activity按返回时调用finish())

当某个Activity里需要一键返回时,可以给该Activity里的指定控件添加一个事件,事件里面直接调用Back.removeAllActivity();


思路可以理解为,每个Activity创建的时候都是继承基类的,基类的oncreate和ondestroy方法也是继承的,每当Activity创建了,就会添加到Back的list集合里面,而每当Activity返回时,则从list集合里面移除掉,最后一键返回桌面时,调用Back的removeallactivity方法,则把list里存放的activity全部finish掉。

个人觉得其实就是把最后一键返回中的每个activity.finish()简写了吧

也可以在基类的oncreate方法里面写一个初始化的方法,然后在子类可以直接重写这个初始化的方法而不用写oncreate方法,因为已经继承了基类的oncreate方法,只用加载下布局就OK了




3
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:11124次
    • 积分:481
    • 等级:
    • 排名:千里之外
    • 原创:36篇
    • 转载:0篇
    • 译文:0篇
    • 评论:4条
    文章分类
    最新评论