我有一个类型为FragmentActivity的活动。里面有一些使用view pager的内容,其中每个可滚动的选项卡都是一个片段:
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".OpenStack" >
<!--
This title strip will display the currently visible page title, as well as the page
titles for adjacent pages.
-->
<android.support.v4.view.PagerTitleStrip
android:id="@+id/pager_title_strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="#33b5e5"
android:paddingBottom="4dp"
android:paddingTop="4dp"
android:textColor="#fff" />
</android.support.v4.view.ViewPager>
在片段中,当用户点击列表项时,我会打开一个新的活动,就像这样:
Intent myIntent = new Intent(getActivity(), InstanceActivity.class);
getActivity().startActivity(myIntent);
但是,当我在InstaceActivity中单击“返回”以返回到包含片段的页面时,该页面被销毁并重新创建。我不知道为什么会发生这种情况。我应该做些特殊的事情来保留FragmentActivity在后台堆栈中吗?
甚至保存状态也没有帮助:
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("CONNTOKEN", isConnToken);
outState.putString("NOVAURL", isNovaURL);
}
因为在FragmentActivity的onCreate事件中,当我按返回键时savedInstanceState为空?