Android startActivity()和onActivityResult()使用总结
2014-09-10 10:39
405 查看
有三个Activity: A.java ,B.java ,C.java
Activity之间的跳转常用方法:
1. startActivity(Intent intent);
该方法只用于启动新的Activity
2.startActivityForResult(Intent intent, int requestCode);
该方法做两件事:一.启动新的Activity 二.回收启动的Activity返回的结果
(1)A.java中
startActivityForResult(Intent intent, int requestCode);
requestCode: 是自定义的int型常量, requestCode >=0。
例:
(2)B.java 或者C.java
setResut(int resultCode, Intent intent)
resultCode:用于标识B.java几种不同的返回结果。没有特殊情况时,用RESULT_OK。
例:
(3)A.java
onActivityResult(int requestCode, int resultCode, Intent data)
requestCode: 用于区分哪个子模块回传的数据。
data: 回传的数据。
Bundle b = data.getExtras();
String str = b.getString("string");
resultCode: 与setResult()中相对应
例:
Activity之间的跳转常用方法:
1. startActivity(Intent intent);
该方法只用于启动新的Activity
2.startActivityForResult(Intent intent, int requestCode);
该方法做两件事:一.启动新的Activity 二.回收启动的Activity返回的结果
(1)A.java中
startActivityForResult(Intent intent, int requestCode);
requestCode: 是自定义的int型常量, requestCode >=0。
例:
if(条件){ Intent intent = new Intent(this, B.class); startActivityForResult(intent, REQUEST_CODE_01);//跳转至B.java }else{ Intent intent = new Intent(this, C.class); startActivityForResult(intent, REQUEST_CODE_02);//跳转至C.java }
(2)B.java 或者C.java
setResut(int resultCode, Intent intent)
resultCode:用于标识B.java几种不同的返回结果。没有特殊情况时,用RESULT_OK。
例:
Intent intent = new Intent(); intent.putExtra(key, value); // 或者将数据打包到Bundle setResult(RESULT_OK, intent);
(3)A.java
onActivityResult(int requestCode, int resultCode, Intent data)
requestCode: 用于区分哪个子模块回传的数据。
data: 回传的数据。
Bundle b = data.getExtras();
String str = b.getString("string");
resultCode: 与setResult()中相对应
例:
public void onActivityResult(int requestCode, int resultCode, Intent data){ switch (requestCode) { case REQUEST_CODE_01: if(resultCode==Activity.RESULT_OK) //do something break; case REQUEST_CODE_02: //do something break; } }
相关文章推荐
- Android使用 startActivityForResult 、 onActivityResult 时的注意事项
- android.app.Activity类中的startActivityForResult()方法、onActivityResult()方法、setResult()方法的使用
- Android学习之使用startActivityForResult()和onActivityResult()进行跳转并返回数据
- Android使用 startActivityForResult 、 onActivityResult 时的注意事项
- 『ANDROID』总结:调用startActivityForResult,onActivityResult无响应的问题
- android中使用startActivityForResult回传数据
- android中使用startActivityForResult回传数据
- android中使用startActivityForResult回传数据
- android中使用startActivityForResult回传数据
- android中使用startActivityForResult回传数据 或同时销毁几个页面
- Android Activity 之 startActivityForResult 的使用
- android中使用startActivityForResult回传数据
- android中使用startActivityForResult回传数据
- Android:startActivityForResult 和 onActivityResult 问题
- android Activity 之 startActivityForResult 的使用
- android使用startActivityForResult
- android startActivityForResult(Intent intent, int requestCode) 整理与总结!
- android中使用startActivityForResult回传数据(转)
- Android startActivityForResult的使用
- Android startActivityForResult的使用