【Android】退出多个Activity方法(二)
来源:互联网 发布:阿里云深圳机房ip地址 编辑:程序博客网 时间:2024/06/05 08:15
上一篇介绍了第一种退出多个Activity方法——setFlags()。setFlags()退出多个Activity
这次介绍第二种方法——setResult()(返回数据给上一个Activity的Intent)。
像上次一样,有四个Activity,分别是A、B、C、D,但是这次增加一个基类Activity——BaseActivity。BaseActi代码如下:
public class BaseActivity extends AppCompatActivity { public static final int FINISH_REQUESTCODE = 1;//注1 public static final int FINISH_RESULTCODE = 1;//注2 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { switch (requestCode) { case FINISH_REQUESTCODE: if (resultCode == FINISH_RESULTCODE) { setResult(FINISH_RESULTCODE);//注3 finish(); } } }}
- 注1:请求标志
- 注2:结果标志
- 注3:setResult()方法,用于返回数据给上一个Activity,接收的参数为结果标志。(这一行一定要写,目的是为了遍历返回栈中的Activity,才能达到完全关闭Activity的目的。)
A、B、C、D四个Activity的代码如下:
public class A extends BaseActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.a_layout); Button btnA = (Button) findViewById(R.id.btn_a); btnA.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(A.this, B.class); startActivityForResult(intent, FINISH_REQUESTCODE); } }); }}
在想要完全退出的地方,如:D活动的退出点击事件,代码如下:
setResult(FINISH_RESULTCODE);finish();
这样就可以实现退出多个Activity了。
方法步骤总结:
1. 创建一个基类Activity,在基类Activity中重写onActivityResult方法。其中一定要写setResult(结果标志)这个方法。
2. 在Activity中使用startActivityForResult方法传递Intent和请求标志。
3. 在要退出的地方写setResult(结果标志)和finish();
0 0
- 【Android】退出多个Activity方法(二)
- android退出多个activity方法整理
- 【Android】退出多个Activity方法(一)
- 【Android】退出多个Activity方法(三)
- 【Android】退出多个Activity方法(四)
- 【Android】退出多个Activity的方法(五)
- Android退出多个activity和单个activity的方法
- Android 退出多个Activity | 退出程序
- Android 退出多个Activity | 退出程序
- Android退出多个Activity
- Android应用开发多个activity完全退出程序方法
- android退出程序销毁多个Activity方法
- Android中退出多个Activity的方法
- Android中退出多个Activity的两个经典方法
- Android中退出多个Activity的两个经典方法
- Android中退出多个Activity的两个经典方法
- Android退出多个Activity的两个经典方法
- Android 中退出多个Activity的两个经典方法
- Sony S1512S2C加装内存
- linux目录权限与文件权限的区别
- CCF201412-2 Z字形扫描(解法二)(100分)
- angular js 入门2 $watch 监听事件
- 十大编程算法助程序员走上高手之路
- 【Android】退出多个Activity方法(二)
- Common Subsequence(dp)HDU 1159
- pug模板初体验
- MIT 线性代数(34—35)读书笔记
- 基于proteus的51单片机仿真实例一、说明
- 试试Linux下的ip命令,ifconfig已经过时了
- 服务与活动之间如何产生联系
- JSP(7)关于刷新持续发送请求的处理
- Java 实例