我有一项活动,呼叫另一项活动填写地址,第二项活动应该发回第一项活动的地址,并在第一项活动的文本视图中显示
我使用了这些代码 但我不知道为什么它不起作用第一项活动:
Intent in = new Intent(getApplicationContext(),ShippingActivity.class);
startActivity(in);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == RESULT_OK){
tvDeliverTo.setText(data.getStringExtra("DeliveryAdressKEY"));
}
}
和第二项活动
Intent in = new Intent();
in.putExtra("DeliveryAdressKEY", tvAdress.getText().toString());
setResult(RESULT_OK, in);
finish();
提前致谢
答案 0 :(得分:2)
您需要使用startActivityForResult
开始第二项活动:
在onActivityResult
中,您还应该检查resultCode
是RESULT_OK
,而不是requestCode
。
答案 1 :(得分:1)
我相信你应该使用startActivityForResult()而不是startActivity()。
答案 2 :(得分:0)
第一项活动
Intent in = new Intent(getApplicationContext(),ShippingActivity.class);
startActivityForResult(in, 0);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 0){
if(resultCode ==1){
tvDeliverTo.setText(data.getStringExtra("DeliveryAdressKEY"));
}
}
}
和第二项活动
Intent in = new Intent();
in.putExtra("DeliveryAdressKEY", tvAdress.getText().toString());
setResult(1, in);
finish();
现在正在运作