将数据发送到onBackPressed上的父活动

Ant*_*ony 2 android android-lifecycle android-activity

有没有办法在按下后退时将更新的数据发送到父活动?我想更新捆绑包中的数据,但我不知道如何访问它.

例如,我有一个图库活动,可以打开图像查看器.假设用户滚动了十几个图像,然后退回到图库.使用他们查看的最后一张图像更新图库中的焦点图像是理想的.

目前,如果没有全球化的设置,我无法想到如何做到这一点.

这是我想做的伪代码(虽然这显然不起作用):

儿童:

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

家长:

@Override
public void onResume()
{
    super.onResume();
    Uri photoFocus = getIntent().getData();
    if (photoFocus != null)
        setPhotoFocus(photoFocus);
}
Run Code Online (Sandbox Code Playgroud)

Sus*_*hil 9

你可以做

startActivityForResult()

从您的父活动启动子活动时.onBackPressed,您可以在childActivity中调用setResult().

在parentActivity中,代码将进行回调:

protected void onActivityResult(int requestCode,int resultCode,Intent data){}

您可以在其中提取setResult方法中的结果集

要么

使用sharedPreferences