从片段输入新活动并返回时,片段活动会被破坏

时间:2013-10-01 21:04:02

标签: android android-fragmentactivity back-stack

我有一个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为NULL?

1 个答案:

答案 0 :(得分:0)

试试这个:addToBackStack。 ;)