Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NavUtils navigateUpFromSameTask()和onSaveInstanceState()_Java_Android - Fatal编程技术网

Java NavUtils navigateUpFromSameTask()和onSaveInstanceState()

Java NavUtils navigateUpFromSameTask()和onSaveInstanceState(),java,android,Java,Android,我是android开发的新手,我面临着一个问题。 我有一个活动,它包含一个ListFragment。点击列表项后,新活动开始。我决定用菜单栏上的Home按钮在儿童活动中进行反向导航 if (NavUtils.getParentActivityName(getActivity()) != null){ ((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);

我是android开发的新手,我面临着一个问题。 我有一个活动,它包含一个ListFragment。点击列表项后,新活动开始。我决定用菜单栏上的Home按钮在儿童活动中进行反向导航

if (NavUtils.getParentActivityName(getActivity()) != null){
        ((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    }

我还需要将整数值保存到父活动中。所以我重写了onSaveInstanceState()

但当我点击子活动的返回箭头并调用父活动的onCreate方法时,参数Bundle似乎为null,直到下面代码的日志为止

if (savedInstanceState != null){
        intVal = savedInstanceState.getInt(TAG_INT_VAL_SAVED);
        Log.d("ACTIVITY_STATE", " onSave getting data"); // Never appears at LogCat
    } else {
        // code to assign intVal as if the Activity was just started
    }
我有点困惑,所以我想请你们帮忙。你能告诉我什么时候导航吗?我该怎么做才能保存intVal?谢谢大家!

B.t.w.在屏幕旋转时工作正常-成功检索值

清单如下所示:

<activity
        android:name=".ListItemActivity"
        android:label="@string/app_name" >
        <meta-data android:name="android.support.PARENT_ACTIVITY"
            android:value=".MyListActivity"/>
    </activity>

    <activity android:name=".MyListActivity"
        android:label="@string/app_name">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>

if (savedInstanceState != null){
        intVal = savedInstanceState.getInt(TAG_INT_VAL_SAVED);
        Log.d("ACTIVITY_STATE", " onSave getting data"); // Never appears at LogCat
    } else {
        // code to assign intVal as if the Activity was just started
    }
<activity
        android:name=".ListItemActivity"
        android:label="@string/app_name" >
        <meta-data android:name="android.support.PARENT_ACTIVITY"
            android:value=".MyListActivity"/>
    </activity>

    <activity android:name=".MyListActivity"
        android:label="@string/app_name">

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>