从片段进入新活动并返回时,片段活动被销毁

7

我有一个类型为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为空?
1个回答

0

据我所知,这是用于从一个片段转到另一个片段,但在这里我是从片段转到活动。 - andy57
我这里不会更改片段,而且只能在FragmentTransaction上使用addToBackStack。我尝试了一下,但它并没有改变任何东西。 - andy57

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接