从零开始学Android(七)
来源:互联网 发布:耳朵听力测试软件 编辑:程序博客网 时间:2024/04/30 01:48
- 知晓当前是在哪一个活动
我们还是在ActivityTest项目的基础上修改,新建一个活动BaseActivity重写onCreate方法:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity", getClass().getSimpleName());
接下来就是让其他的活动继承这个活动,这样所有活动就获得了输出类名的方法。
- 随时随地退出程序
我们的程序需要一个随时注销或者退出的功能,新建ActivityCollector类作为活动管理器,代码如下:
public class ActivityCollector { public static List<Activity> activities = new ArrayList<Activity>(); 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(); } } }}
该类提供三个方法,分别的作用是添加活动,删除活动,销毁全部活动。
下面修改BaseActivity类中的代码重写onDestroy方法:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("BaseActivity", getClass().getSimpleName()); ActivityCollector.addActivity(this); } @Override protected void onDestroy() { super.onDestroy(); ActivityCollector.removeActivity(this); }
由以上代码可知一个活动在创建的时候,调用父类的onCreate方法就会将这个活动添加到活动管理器之中,销毁一个类时调用其父类onDestroy方法就会将该活动从活动管理器之中删除。这样,不论何时想要退出程序,只需要调用活动管理器ActivityCollector.finishAll方法,以ThirdActivity为例:
Button button3 = (Button) findViewById(R.id.button_3); button3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { ActivityCollector.finishAll(); } });
- 启动活动的最佳方法
如果要在SecondActivity活动里获取两个数据,但是却不知道是什么数据,可以在SecondActivity中添加方法:
public static void actionStart(Context context, String data1, String data2) { Intent intent = new Intent(context, SecondActivity.class); intent.putExtra("param1", data1); intent.putExtra("param2", data2); context.startActivity(intent); }
通过添加的actionStart方法,完成了对Intent的构建,另外启动SecondActivity活动所需要的数据都是通过actionStart方法传递的,然后把他们储存在Intent中,最后调用startActivity方法启动SecondActivity活动。
现在只需要一行代码就可以启动SecondActivity:
SecondActivity.actionStart(FirstActivity.this, "data1", "data2");
0 0
- 从零开始学Android(七)
- 从零开始学Makefile(七)
- 【从零开始学NGUI 】 (七)Atlas制作
- 从零开始学java(七)流程控制
- 从零开始学Android (1)
- 从零开始学Android (2)
- 从零开始学Android (3)
- 从零开始学Android (4)
- 从零开始学Android(〇)
- 从零开始学Android(一)
- 从零开始学Android(二)
- 从零开始学Android(三)
- 从零开始学Android(四)
- 从零开始学Android(五)
- 从零开始学Android(六)
- 从零开始学Android(八)
- 从零开始学Android(九)
- 从零开始学android<RadioButton单选按钮的使用.七.>
- VS2012 C# InitializeComponent() 的作用 及部分知识点
- 囧司徒(1)
- wordpress上传文件重命名
- Android 改变AVD的默认路径
- KM算法--带权二分匹配
- 从零开始学Android(七)
- 【一步一步学习VBA】WPS 使用 VBA
- 深度学习入门课程学习笔记03 损失函数
- HTML5&CSS入门基础内容(一)
- java证书加解密过程
- test
- 创建Cordova插件
- HDU 5768Lucky7-中国剩余定理+容斥原理
- ubuntu单机下安装多mysql 5.7.14