2

戻るが押されたときに更新されたデータを親アクティビティに送信する方法はありますか? バンドル内のデータを更新したいのですが、アクセス方法がわかりません。

たとえば、画像ビューアを開くギャラリー アクティビティがあります。ユーザーが多数の画像をスクロールしてから、ギャラリーに戻るとします。ギャラリーの焦点画像を、最後に表示した画像で更新するのが理想的です。

現時点では、グローバル設定なしでそうする方法は考えられません。

これが私がやりたいことの疑似コードです(ただし、これは明らかに機能しません):

子:

@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);
}
4

5 に答える 5

0

onSaveInstanceStateの代わりに試してみてくださいonBackPressed

onSaveInstanceStateバンドルへのアクセスを提供します。

于 2013-08-26T07:15:21.727 に答える
0

また、データ オブジェクトを参照ポイント (静的でも) として保持し、onBackPressed() メソッドで更新することもできます。親アクティビティでは、onResume() / onRestart() メソッドでそのデータを取得できます。これは、アクティビティのライフサイクルを利用してインテントを使用してデータを渡すメカニズムをバイパスする一般的な概念です。

于 2013-08-26T07:18:49.590 に答える