【使用范围】页面间回传值
【场景】在Page1点击跳转页面Page2,在Page2获取到String传回Page1接收,常用在搜索页面,条件选择页面。
Page1点击跳转代码:
Intent intent=new Intent(SearchActivity.this,ChoseClient.class);
startActivityForResult(intent,1001);
Page2选择好参数回传代码:
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
String mClient = (String) ((TextView)view.findViewById(R.id.tv_clientName)).getText();
if(mClient!=null&&mClient!=""){
Intent intent=new Intent();
intent.putExtra("client",mClient);
setResult(1001,intent);
finish();
}
}
});
Page1接收Page2传回参数代码:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==1001&&requestCode==1001){
String mClient=data.getStringExtra("client");
idClient.setText(mClient);
}
}
需要注意的是,跳转Page2前
startActivityForResult(intent,1001);加了个requestCode以及
跳转Page1
setResult(1001,intent);加了个resultCode
用来判断是哪个页面传递过来的值,方便后续操作。