这个问题已经有了答案:
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方法中提取结果集
或
使用共享引用