Android startActivityForResult用法
2017-08-01 本文已影响0人
OrionW
Activity之间的跳转一般使用startactivity(intent)
1、如果A--B,需要B返回一个数据给A,那么就可以使用startactivityforresult(intent,requestCode),请求码的值随便设置,但必须>=0。而当返回A的时候,就在A的
protectedvoidonActivityResult(int requestCode,int resultCode, Intent data) { } 这个方法中回调。
requestCode为你跳转时设置的,resultCode为B返回的时候设置的。
2、如果A也想给B传递数据,那么就需要intent.putexstra();
A中
Intent intent = new Intent(A.this,B.class);
intent.putExstra();//如果需要传递数据的话,传递的有各种类型,使用相应的方法
startactivityforresult(intent,resquestcode);
B中
//如果A传递数据的话
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
bundle.getString();//这里要看你传递的数据类型
当返回A的时候
Intent mIntent =newIntent();
mIntent.putExtra("change01","1000");
mIntent.putExtra("change02","2000");
// 设置结果,并进行传送
this.setResult(resultCode, mIntent);
finish();