0

私はActivityAとActivityBを持っています。ActivityB は ActivityA から呼び出されます。

ActionBarの戻るボタンやデバイスの戻るボタンを押したときに、ActivityAのオブジェクトを保持したかったのです。

オブジェクトを保存してオブジェクトを取得するために、Singleton オブジェクトを作成しました。

onPause() オブジェクトを保存しており、オブジェクトを取得している onResume() メソッドを使用しています。

ここでの私の問題は、動作が異なることです.Action(ActivityB)の戻るボタンがクリックされたときに取得されるオブジェクトとは異なるオブジェクトです。

コードは次のとおりです。

protected void onPause() {
    //resetSort();
    super.onPause();
    MySingleton.getInstance().setMyObject(myObject);
}

@Override
protected void onResume() {
    super.onResume();
    myObject = MySingleton.getInstance().getMyObject();
}

これが私のマニフェストファイルです。

    <activity
        android:name=".ActivityA"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/app_name"
        >
    </activity>
    <activity
        android:name=".ActivityB"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/app_name" >
    </activity>

ActivityB のコード:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
    }
    return super.onOptionsItemSelected(item);
}

どんな解決策でも大歓迎です。ありがとう

4

1 に答える 1