首页 > 代码库 > startActivityForResult简介
startActivityForResult简介
在Activity中 startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,
当新的Activity关闭后会向前面的Activity传回数据,
为了能得到传回的数据,必须在旧的Activity中覆写onActivityResult(int requestCode, int resultCode, Intent data)方法,
而在新的Activity通过setResult(int resultCode,Intent data)调用, 第一个参数是请求码,第二个参数是携带返回数据的Intent。
调用setResult后系统会回调旧的Activity中的startActivityForResult方法。
下面直接看例子
旧的Activity A
1 button2.setOnClickListener(new View.OnClickListener(){ 2 public void onClick(View v) { 3 startActivityForResult (new Intent(MainActivity.this, NewActivity.class), 2); 4 5 } 6 7 }); 8 9 10 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { 11 switch(requestCode){ 12 case 1: 13 //返回编号 14 case 2: 15 //返回编号 16 } 17 }
新的ActivityB
public class ActivityB extends Activity{ ...... New1Activity.setResult(1 , intent); finish(); }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。