zoukankan      html  css  js  c++  java
  • 实现退出确认和销毁所有活动

    一、实现退出确认

    实现方式:在Android平台上捕获Back键的事件,super.onBackPressed()是执行系统的默认动作,就是退出当前activity,我们要做的就是重写onBackPressed()函数

    @Override
        public void onBackPressed() {
            new CommomDialog(Home.this, R.style.dialog, "确认退出此程序?", new CommomDialog.OnCloseListener() {
                @Override
                public void onClick(Dialog dialog, boolean confirm) {
                    if (confirm) {
                        ActivityCollector.FinishAll();
                        dialog.dismiss();
                    }
                }
            }).setTitle("提示").show();
        }

     

    二、销毁所有活动

    1.新建ActivityCollector存放活动

    public class ActivityCollector {
        public static List<Activity> activities = new ArrayList<>();
    
        public static void AddActivity(Activity activity) {
            activities.add(activity);
        }
    
        public static void RemoveActivity(Activity activity) {
            activities.remove(activity);
        }
    
        public static void FinishAll() {
            for (Activity activity : activities) {
                if (!activity.isFinishing()) {
                    activity.finish();
                }
            }
        }
    }

    2.新建BaseActivity继承AppCompatActivity

    public class BaseActivity extends AppCompatActivity {
        @Override
        protected void onCreate( Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            ActivityCollector.AddActivity(this);
        }
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            ActivityCollector.RemoveActivity(this);
        }
    }

    3.每个活动继承BaseActivity而不是AppCompatActivity

    public class Home extends BaseActivity implements View.OnClickListener {

    4.销毁所有活动

     ActivityCollector.FinishAll();
  • 相关阅读:
    在 Laravel 5.1 中使用 Pjax
    在 iOS 中实现方法链调用
    利用 WireShark 深入调试网络请求
    设计一个健壮的后台下载
    设计一个健壮的大型文件下载系统
    iOS开发基础知识:Core Animation(核心动画)
    开发 Swift 和 Objective-C 混编的 Framework
    protobuf3 iOS 接入 protobuf
    iOS之ProtocolBuffer搭建
    iOS10 推送必看(基础篇)
  • 原文地址:https://www.cnblogs.com/xinyibufang/p/7422899.html
Copyright © 2011-2022 走看看