2016年7月8日 星期五

Android Fragment in Viewpager 避免初始化 onResume

在開發Android 的過程中,常常會使用到viewpager來幫助開發

但有時候又希望viewpager 裡面的 fragment 不要在一開始setAdapter時就加載。

因為如果fragment裡面,我們做了許多的網路API request,或是圖片的加載,那麼如果fragment的數量多,就會讓使用者等很久

所以在拜過Google 大神後,發現到 viewpager 會手動調用 fragment裡面的public void setUserVisibleHint(boolean isVisibleToUser) 方法,

這個方法很好理解,
就是當我們滑動到某一個fragment,或是 viewPager.setCurrentItem(n)時,就會調用到這個方法

所以我們可以將這個方法看成:

    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
            // fragment onResume
        } else {
            // fragment onPause
        }
    }


這樣是不是很簡單呢~~

沒有留言:

張貼留言