Android中startActivity的使用----请求码与结果码的意义
来源:互联网 发布:fisher 出现奇异矩阵 编辑:程序博客网 时间:2024/05/16 16:18
在启动另外一个Activity的时候,有两种方法,一种是直接使用startActivity,另外一种就是使用startActivityForResult。前一种用来开启一个activity界面,后面一个用来开启activity同时接收返回的结果。
1.跳转的时候不是采用startActivity(intent) 这个方法,而是startActivityForResult(intent, 0)。
1 Intent intent=new Intent();
2 intent.setClass(A.this, B.class);
3 Bundle bundle=new Bundle();
4 String str1="aaaaaa";
5 bundle.putString("str1", str1);
6 intent.putExtras(bundle);
7 startActivityForResult(intent, 0);//这里采用startActivityForResult来做跳转,此处的0为请求码
2 intent.setClass(A.this, B.class);
3 Bundle bundle=new Bundle();
4 String str1="aaaaaa";
5 bundle.putString("str1", str1);
6 intent.putExtras(bundle);
7 startActivityForResult(intent, 0);//这里采用startActivityForResult来做跳转,此处的0为请求码
2.重写onActivityResult方法,用来接收B回传的数据。
1 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
2 switch (resultCode) { //requestCode为本次请求时的请求码,resultCode为返回的结果码
3 case RESULT_OK:
4 Bundle b=data.getExtras(); //data为B中回传的Intent
5 String str=b.getString("str1");//str即为回传的值
6 break;
7 default:
8 break;
9 }
10 }
2 switch (resultCode) { //requestCode为本次请求时的请求码,resultCode为返回的结果码
3 case RESULT_OK:
4 Bundle b=data.getExtras(); //data为B中回传的Intent
5 String str=b.getString("str1");//str即为回传的值
6 break;
7 default:
8 break;
9 }
10 }
3.在B中回传数据时采用setResult方法,并且之后要调用finish方法。
setResult(RESULT_OK, intent); //intent为A传来的带有Bundle的intent,RESULT_OK为返回结果码
finish();//此处一定要调用finish()方法,关闭该activity
finish();//此处一定要调用finish()方法,关闭该activity
理解:
1、调用startActivityForResult方法可以开启一个获取返回值的activity,在第一个activity中重写onActivityResult方法来接收返回的值。
2、请求码:请当同一个activity多次使用startActivityForResult方法获取返回值后,通过请求码来区分是那次请求。
3、结果码:当返回多个结果时,用来区分结果。
0 0
- Android中startActivity的使用----请求码与结果码的意义
- android中startActivityForResult( )与startActivity( )的不同之处
- Android中startActivity的permission检测与UID机制
- 请求码与结果码的作用
- Activity的请求码与结果码
- Android中startActivity的起始调用过程
- 非Activity中使用startActivity的问题
- Android中的请求码与结果码
- Android 请求码与结果码
- Android中的请求码与结果码
- Android过滤startActivity请求
- startActivityForResult( )与startActivity( )的不同之处
- startActivityForResult与startActivity的不同之处
- startActivityForResult与startActivity的区别
- startActivityForResult与startActivity的区别
- startActivity( ) 与startActivityForResult( )的区别
- startActivity( ) 与startActivityForResult( )的区别
- startActivityForResult与startActivity的不同之处
- 卢布崩盘后已反弹34% 俄2015年违约概率很低
- 输出数字金字塔代码
- 编写程序输出1000~2000之间的闰年
- 水皮:牛市要走一步看一步 走急了就会扯着蛋
- 营销之战,攻心为上 转载
- Android中startActivity的使用----请求码与结果码的意义
- java和JSP和JavaScript有什么区别
- 学习ios蓝牙技术,仿写lightblue
- 线性表的顺序存储结构(java版)
- 沪指涨近3%冲新高 券商股再现涨停潮
- sublime text 3 搭建c/c++ 环境 及 激活
- Object c的.h文件中字段和属性的区别
- Family planning
- 在window service中调用外部exe或.bat等