这个问题已经有了答案:
setResult does not work when BACK button pressed
10答
按下back时是否有方法将更新的数据发送到父活动?我想更新包中的数据,但不知道如何访问它。
例如,我有一个打开图像查看器的库活动。假设一个用户在十几个图像中滚动,然后返回到图库。最好是用他们看到的最后一张图片更新库中的焦点图像。
目前我想不出没有全球背景下如何做到这一点。
下面是我想做的伪代码(尽管这显然行不通):
孩子:

@Override
public void onBackPressed() {
    getIntent().setData(currentImage);  // Not the right intent, obviously
    super.onBackPressed();
}

起源:
@Override
public void onResume()
{
    super.onResume();
    Uri photoFocus = getIntent().getData();
    if (photoFocus != null)
        setPhotoFocus(photoFocus);
}

最佳答案

你可以做到
StartActivityForresult()
当您启动childactivity时,从父活动。在backpressed上,可以在childActivity中调用setResult()。
在parentActivity中,代码将返回回调:
受保护的void onActivityResult(int requestcode,int resultcode,
意图数据){}
在这里您可以在setResult方法中提取结果集

使用共享引用

08-06 09:39