7

我有一个 FragmentActivity 类型的活动。在里面我有一些使用视图寻呼机的内容,其中每个可滚动选项卡都是一个片段:

<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 ?

4

1 回答 1

0

试试这个:addToBackStack。;)

于 2013-10-01T21:08:06.533 回答