2

私は次のものFragmentActivityを含むものを持っていますViewPager:

mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);

次に、SectionsPagerAdapterさまざまな位置のレイアウトを表示する次のメソッドがあります。

@Override
public Fragment getItem(int position) {
    if(position == 0){
        return Fragment.instantiate(context, FragmentA.class.getName());
    }
    else if(position == 1){
        return Fragment.instantiate(context, FragmentB.class.getName());
    }
    else if(position == 2){
        return Fragment.instantiate(context, FragmentC.class.getName());
    }
    return null;
}

問題は、FragmentC呼び出しonCreateViewが複数回行われることであり、これによりビューが再作成されます。これは望ましくありません。一度作成してそのままにしておきたいです。FragmentC位置 2 にあり、次に位置 1 にスワイプします。問題ありません。しかし、位置 0 にスワイプして位置 2 に戻ると (FragmentC)再び作成されます。

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

3

私は自分で解決策を見つけました:

mViewPager.setOffscreenPageLimit(nrOfPages);
于 2013-04-17T12:19:33.380 に答える