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 に答える