关于onActivityResult( ) 方法的使用
使用场景:AActivity 跳转到BActivity ,按下返回键,将BActivity 的部分数据带给AActivity
注释:相当于,AActivity 请求 BActivity 里的数据
public class AActivity extends Activity {
String name;
static Intent mIntent;
private ArrayList<HashMap<String, Object>> listViewData;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
}
//跳转BActivity 的 button点击事件
public void toB(View view) {
mIntent = new Intent(AActivity.this, BActivity.class);
mIntent.putExtra("name", name);
mIntent.putExtra("listViewData", listViewData);
startActivityForResult(mIntent, 1); //以请求返回结果的方式跳转,请求依据requestcode=1
}
//BActivity返回到AActivity 后执行该方法,返回得到BActivity 中的 数据,使用intent 携带上数据
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == 1 && data != null) {
Log.d("oy", "name==" + data.getStringExtra("name"));
name = data.getStringExtra("name ");
listViewData=data.getParcelableExtra("listViewData");
}
}
public class BActivity extends AppCompatActivity {标签:BActivity,name,mIntent,方法,listViewData,关于,AActivity,onActivityResult,data From: https://www.cnblogs.com/a-n-yan/p/17218841.html
private ArrayList<HashMap<String, Object>> listViewData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_b);
}
//按下返回键时的动作,注意删除super调用
@Override
public void onBackPressed() {
Intent intent = new Intent();
intent.putExtra("name", "anyan");
setResult(1, intent);//设置请求结果resultcode=1
finish();
}
}