2016-08-18 88 views
1

上面有三個片段,分別表示A,B和C,一個是viewpager,它包含多個片段(比如片段B)。使用viewpager在片段和片段之間切換

切換到片段b後,將移動到其他片段並返回片段b後呈現片段viewpager內容,此處它將重新加載內容。

我只想停止銷燬碎片,一旦它被渲染?

在此先感謝。適配器的

示例代碼:

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

am使用FragmentPagerAdapter –

+0

FragmentPagerAdapter將保留所有片段,它只是銷燬用戶不可見的片段視圖。 – li2

回答

0

FragmentPagerAdapter將保留所有的片段,它只是破壞片段的視圖,其是不可見的用戶,例如,如果捲動頁面從1到2,則圖頁面0將被銷燬,但頁面0的實例仍將被適配器保留。

如果將limit設置爲2,則可以通過調用方法ViewPager.setOffscreenPageLimit(int limit)來更改此默認行爲,那麼頁面0的視圖也將保留。

設置在空閒狀態下應該保留到視圖層次結構中當前頁面任一側的頁數。

+0

這不是這裏的情況。 –