Android开发实用技巧之四:自定义ActivityCollector来管理活动
来源:互联网 发布:java websocket多线程 编辑:程序博客网 时间:2024/05/14 06:52
一:判断当前活动是哪一个活动类
当程序较复杂时,有时会出现找不到当前界面对应的是哪个活动的情况,那么通过以下办法我们可以随时知道当前活动的界面对应的是哪一个活动类。
1.自定义一个BaseActivity如下:
public class BaseActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity", getClass().getSimpleName()); }}
2.然后接下来创建的所有活动都继承BaseActivity,而不是继承Activity。这样当我们进入到一个活动的界面,就可以在LogCat中找到该活动的类名了。
二:管理当前活动的个数及随时随地的退出程序
1.新建一个活动管理类ActivityCollector如下:
public class ActivityCollector { //定义一个List用来暂存活动 public static List<Activity> activities = new ArrayList<Activity>(); //向List中添加一个活动 public static void addActivity(Activity activity){ activities.add(activity); } //向List中移除一个活动 public static void removeActivity(Activity activity) { activities.remove(activity); } //用循环销毁List中的所有活动 public static void finishAll(){ for (Activity activity: activities){ if (!activity.isFinishing()){ activity.finish(); } } }}
2.自定义一个BaseActivity如下:
public class BaseActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity", getClass().getSimpleName()); //把当前活动添加到List中 ActivityCollector.addActivity(this); } @Override protected void onDestroy() { super.onDestroy(); //把当前活动从List中移除 ActivityCollector.removeActivity(this); }}
3.通过步骤1,2之后,以后不管想在任何地方退出程序,不再需要连续按Back键了,只需调用ActivityCollector.finishAll()就可以了,比如实现一个退出程序的按钮
Button logoutbutton = (Button) findViewById(R.id.logout); logoutbutton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ActivityCollector.finishAll(); } });
这样,当点击按钮时就可以退出程序了。
0 0
- Android开发实用技巧之四:自定义ActivityCollector来管理活动
- Android 活动管理类 ActivityCollector
- 记录自学Android的笔记-自定义一个ActivityCollector类来管理所有活动和自定义BaseActivity作为所有活动的父类
- 活动管理(ActivityCollector)
- Android--ActivityCollector
- Android学习笔记(4)-活动管理器ActivityCollector类
- android学习 在一个活动中关闭所有的活动ActivityCollector
- Android之活动的管理
- web工作流管理系统开发之四 自定义表单
- web工作流管理系统开发之四 自定义表单
- web工作流管理系统开发之四 自定义表单
- 工作流管理系统开发之四 自定义表单
- Android开发之自定义View专题(四):自定义ViewGroup
- Android实用技巧.四种加载模式之singleTask
- Android, 随时随地退出程序ActivityCollector
- 【Android】安卓开发实战之自定义ActionBar(活动栏、状态栏)颜色且没有色差
- android开发之四种基本布局和自定义控件
- Android开发之旅:活动与任务
- Volley详解
- Java基础笔记一
- Struts2的一点人生经验
- JAVA 对象引用,以及对象赋值
- mysql优化(总结)
- Android开发实用技巧之四:自定义ActivityCollector来管理活动
- 适合Web服务器的iptables规则
- CodeForces 652D Nested Segments (树状数组)
- 数据结构 简单小结
- 关于KD树(未完)
- Gson完全解析
- 定时器,监听器
- 杭电2602Bone Collector(01背包)
- (七)mybatis学习之动态SQL