小编典典

按下 BACK 按钮时 setResult 不起作用

all

按下 BACK 按钮后,我正在尝试设置结果。我调用 onDestroy

Intent data = new Intent();
setResult(RESULT_OK, data) 

但是当涉及到

onActivityResult(int requestCode, int resultCode, Intent data) 

结果代码为 0 (RESULT_CANCELED),数据为“空”。

那么,如何传递由 BACK 按钮终止的活动的结果?


阅读 104

收藏
2022-04-02

共1个答案

小编典典

您需要在调用超类之前onBackPressed()覆盖方法并设置结果,即

@Override
public void onBackPressed() {
    Bundle bundle = new Bundle();
    bundle.putString(FIELD_A, mA.getText().toString());

    Intent mIntent = new Intent();
    mIntent.putExtras(bundle);
    setResult(RESULT_OK, mIntent);
    super.onBackPressed();
}
2022-04-02