活动的最佳实践之 隨時退出應用程序
来源:互联网 发布:2016年中国零售业数据 编辑:程序博客网 时间:2024/06/06 16:37
從前面的例子可以看到,ThirdActivity 退出後介面回到MainActivity,MainActivity退出後回到SecondActivity,SecondActivity退出後才退出整個應用,操作相當不方便。
新增一個ActivityCollector類作為activity的管理器。通過ArrayList 來暫存活動,並新增一個addActivity()來向list中添加活動,新增一個removedActivity()來從list移除活動,最後新增一個finishAll()來destroy list中的所有活動。
package com.example.startactivity;import java.util.ArrayList;import android.app.Activity;import android.util.Log;public class ActivityCollector { public static ArrayList<Activity> activities = new ArrayList<Activity>(); private static String log_tag = "ActivityCollector"; //向ArrayList中添加activity public static void addActivity(Activity activity){ activities.add(activity); Log.d(log_tag, "add for ActivityList = " + activities); } //從ArrayList中移除activity public static void removeActivity(Activity activity){ activities.remove(activity); Log.d(log_tag, "remove for ActivityList = " + activities); } //destroy所有的activity public static void finishAll(){ for(int i=0;i<activities.size();i++){ Activity activity = activities.get(i); if(!activity.isFinishing()){ activity.finish(); } } }}
在BaseActivity類中的onCreate()中調用addActivity()方法:
在onDestroy()中調用removeActivity()方法:
protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); //Log.d(log_tag, getClass().getSimpleName()); ActivityCollector.addActivity(this); }protected void onDestroy(){ super.onDestroy(); //Log.d(log_tag,getClass().getSimpleName() + " is destroy"); ActivityCollector.removeActivity(this); }
這樣每個啟動的活動都會被暫存在List中。每次destroy時,活動將從list中移除。
最後在ThridActivity的退出按鈕上調用finishAll()方法,將所有的活動銷毀。
button_quit_3_1.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub ActivityCollector.finishAll(); } });
這樣,只需要在ThridActivity中執行退出後,整個應用程序將退出。
0 0
- 活动的最佳实践之 隨時退出應用程序
- 活动的最佳实践之随时随地退出程序
- 活动的最佳实践(知晓当前是在哪一个活动,随时随地退出程序,启动活动的最佳写法)
- 活动的最佳实践(知晓当前是在哪一个活动,随时随地退出程序,启动活动的最佳写法)
- 安卓开发:活动的最佳实践2--随时随地退出程序
- 活动的最佳实践之启动活动的最佳方法
- 活动的最佳实践
- 活动的最佳实践
- 活动的最佳实践
- 活动的最佳实践之 啟動活動的最佳寫法
- Activity(活动)的最佳实践
- Activity活动的最佳实践
- 活动的最佳实践之 如何知晓当前是在哪个活动 --16
- 活动的最佳实践之知晓当前是在哪一个活动
- 活动的最佳实践--第一行代码
- Android Studio 活动的最佳实践 知晓当前是在哪一个活动 随时随地地进入程序 启动活动的最佳写法 第一行代码
- 32.启动活动的最佳写法-活动实践
- 【Android】结束活动退出程序的方法
- 11gR2重建crs
- swift - 构成单例
- Notification使用详解之二:可更新进度的通知
- 几个主流的Java连接池
- Android Studio Genymotion
- 活动的最佳实践之 隨時退出應用程序
- javascript onkeydown事件
- 随机产生十个数并排序
- YOLO: Real-Time Object Detection
- 微信退款curl错误
- 使用RecyclerView替代ListView(一)
- 将反射应用在工厂模式上
- 一个js引发的血案
- siteMesh之decorator的使用