0

7 ページの ViewPager があり、ナビゲート中に 4 ページを保持していて、別の 4 セットと GC に置き換えられた後に破棄されます。

 gPager.get().setOffscreenPageLimit(4);

私の習慣の中でFragmentStatePagerAdapter

@Override public Parcelable saveState() { return null; }

私の問題は、「mDrawerLayout」やmDrawerList. 例:

        View rootView = inflater.inflate(R.layout.drawer_layout_fragment, container, false);
        mDrawerLayout = (DrawerLayout) rootView.get().findViewById(R.id.drawer_layout);
        mDrawerList = (ListView) rootView.get().findViewById(R.id.left_drawer);

他のフラグメントが破棄され、一部が ViewPager のページの画面に表示されている場合。これらの断片は再び再作成されますか、それとも受けても保持されているだけonDestoryですか?

Frag2が破壊されていない場合Frag1。viewPager (メイン アクティビティにあります) は再度呼び出しsetAdapterますか? または、自動的にスキップして、破壊されたフラグメントにデータを入力するsetAdapterために直接移動しますか?MyCustomPagerAdapter

@オーバーライド

public Fragment getItem(int arg0) {
    SavePref saveState = new SavePref(mContext.get());

    switch(arg0){
        /** Android tab is selected */
        case 0:
            Frag f1 = new Frag1()
            return f1;

        case 1:
            Frag f2 = new Frag2()
            return f2;
    }
}
4

1 に答える 1

0

ビュー ページャーがフラグメントを破棄すると、position と array を使用して再作成されます。instantiateItem ..

于 2013-11-14T10:59:37.597 に答える