2017-06-20 40 views
1

我有一個數組列表,我想這樣做的邏輯查看傳呼機 - 基於狀態檢查,不添加幾個項目

在尋呼機適配器 -

 getCount() returns arrayList.size() 

在PagerAdapter - istantiateItem( )

if(condition met) 

      add item to view 

      return view 
else 
    return null 

當我這樣做 - 無論何時條件不滿足,我在View Pager上看到一個空白項目。如何不將一個空白項目添加到查看傳呼機。

回答

1

您需要覆蓋getCount()方法以及getItem()方法與您的條件檢查。

@Override 
public int getCount() { 
    int size = 0; 
    for (Fragment fragment: fragmentList) { 
     if (fragment.isOK()) { 
      size++; 
     } 
    } 
    return size; 
} 

@Override 
public Fragment getItem(int position){ 
    int index = 0; 
    for (Fragment fragment: fragmentList) { 
     if (fragment.isOK()) { 
      if(index == position){ 
       return fragment; 
      } 
      index++; 
     } 
    } 
    return null; 
}