2016-08-18 9 views
1

3つのフラグメントがA、B、Cと言っています。一つはviewpagerに複数のフラグメント(フラグメントBのように)が含まれています。viewpagerでフラグメントとフラグメントを切り替える

フラグメントbに切り替えると、他のフラグメントに移動してフラグメントbに戻った後にフラグメントビューページのコンテンツがレンダリングされます。ここで、コンテンツが再度読み込まれます。

私はちょうどそれがレンダリングされたら破滅破片を停止したいですか?

ありがとうございました。アダプタの

サンプルコード:

public class QuestionsSortPagerAdapter extends FragmentPagerAdapter { 
int mNumOfTabs; 

public QuestionsSortPagerAdapter(FragmentManager fm, int NumOfTabs) { 
    super(fm); 
    this.mNumOfTabs = NumOfTabs; 
} 

@Override 
public Fragment getItem(int position) { 

    switch (position) { 
     case 0: 
      QuestionsSortByVotes byVotes = new QuestionsSortByVotes(); 
      return byVotes; 
     case 1: 
      QuestionsSortByActivity byActivity = new QuestionsSortByActivity(); 
      return byActivity; 
     case 2: 
      QuestionsSortByHot byHot = new QuestionsSortByHot(); 
      return byHot; 
     case 3: 
      QuestionsSortByDate byDate = new QuestionsSortByDate(); 
      return byDate; 
     case 4: 
      QuestionsSortByMonth byMonth = new QuestionsSortByMonth(); 
      return byMonth; 
     default: 
      return null; 
    } 
+0

どのViewPagerアダプタを使用しますか? – li2

+0

FragmentPagerAdapterを使用しています –

+0

FragmentPagerAdapterはすべてのフラグメントを保持し、ユーザーには見えないフラグメントのビューを破棄します。 – li2

答えて

0

FragmentPagerAdapterは、ビュー、あなたが1から2にページをスクロールする場合、それは単に、例えば、ユーザには見えないフラグメントのビューを破壊し、すべてのフラグメントを維持しますページ0のインスタンスは破棄されますが、ページ0のインスタンスは引き続きアダプタによって保持されます。

ViewPager.setOffscreenPageLimit(int limit)メソッドを呼び出すことでこのデフォルト動作を変更できます。limitを2に設定すると、ページ0のビューも保持されます。

アイドル状態のビュー階層内の現在のページのいずれかの側に保持する必要があるページ数を設定します。

+0

ここには該当しません。 –

関連する問題