我在ParentActivity
中使用了 onActivityResult 方法,并在ChildActivity
点击中从我的ParentActivity
拨打了Button
。在我的ChildActivity
点击默认后退按钮时,当它转到我的ParentActivity
时,我没有收到我在ChildActivity
中设置的 requestCode onStop()
方法:
的setResult(2);
当我点击后退按钮时,如何将requestCode
从我的ChildActivity
返回到ParentActivity
。
请帮帮我。
提前致谢。
这是ma代码:
//Parent activity
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Toast.makeText(this,resultCode+"", Toast.LENGTH_LONG).show();
if(resultCode==2){
finish();
}
}
//Child activity
protected void onStop() {
setResult(2);
super.onStop();
}
protected void onPause() {
setResult(2);
super.onStop();
}
答案 0 :(得分:3)
您可以在子活动中使用此代码
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
setResult(RESULT_OK);
finish(); // If you have no further use for this activity or there is no dependency on this activity
return true;
}
return super.onKeyDown(keyCode, event);
}
这段代码会将您的子活动的结果ok代码返回到父活动
现在在
中的父活动中@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case 2:
if(resultCode == -1){
// Here you write your code which you have to write on result receive
}
break;
default:
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
如果这有助于你,请告诉我
答案 1 :(得分:0)
最好覆盖onBackPressed()而不是覆盖onKeyDown()