参考:https://www.cnblogs.com/zgqys1980/p/5286208.html
1. 打开下一个activity时,如要传回下一个activity数据,可以使用 startactivityforresult。
@Override
public void onClick(View v) {
if (v == trainStart) { //站点选择
Intent intent = new Intent(mContext, CityChooseActivity.class);
startActivityForResult(intent, 1);//带请求码打开activity (请求码自定 这里设为1
}
}
2. 打开的activity结束要返回数据时:
holder.city_choose_name.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.putExtra("city", cityVo.getResult().get(position).getSta_name().toString()); //放置要传出的数据
//这里是在Recycleview的适配器里,传了一个Activity才能用方法setResult
activity.setResult(Activity.RESULT_OK,intent);
activity.finish(); //关闭活动
}
});
3. 数据接收:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode){ //根据请求码可处理不同活动返回的数据
case 1: //返回的请求码
//操作
String city = data.getExtras().getString("city");
trainStart.setText(city);
break;
}
}