Search

Android - 維持 ViewPager 內 View 的隱藏狀態

2015-10-07 6:40 PM

ViewPager 是一個非常好用的分頁工具

但若想要在其中的分頁加入多重的 View

並依狀態顯示不同的 View 時

初學的開發者常會遇到一個問題

就是滑到其他分頁在滑回來時

就是被隱藏的 View 會自動跑出來

那麼要解決這個問題有兩個方法

一個是設置 offscreenPageLimit

viewPager.setOffscreenPageLimit(cachePagers);

如此一來分頁狀態就不會被重設

但此方法會消耗記憶體資源

所以我推薦的是另一個方法

就是在 Fragment 內的 onCreateView 內判斷該顯示的 View 是哪個

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

 if (isSubPage) {
  showSubLayout();
 } else {
  showMainLayout();
 }

}

因為在重繪 Fragment 時會呼叫 onCreateView

因此在這邊預先處理便可解決這個問題

各項資料連結
Android ViewPager

No comments:

Post a Comment