Fragment實現懶載入

2021-07-09 09:42:59 字數 780 閱讀 8116

應用場景:使用viewpager和fragment來展示資料,要求滑動到fragment時載入此頁面的資料。

解決這個問題其實很簡單,fragment裡有setuservisiblehint這個方法,意思是當此fragment可見時執行此方法。所以我們的fragment可以這樣寫(為了方便起見,我們寫乙個basefragment,需要實現懶載入的繼承basefragment即可):

public abstract class basefragment extends fragment 

public void setfirstvisible(boolean firstvisible)

@override

public void setuservisiblehint(boolean isvisibletouser)

} else

} /**

* 第一次可見狀態下載入資料的方法(且只會載入一次)

*/public abstract void firstvisibleinitdata();

}

**很簡單,相信大家一目了然。

firstvisible這個變數用來記住第一次可見的狀態,這個主要是因為setuservisiblehint方法每次fragment可見的時候都會執行,而我的需求是第一次執行載入操作。

注意:setuservisiblehint方法會在oncreateview之前呼叫,所以在firstvisibleinitdata裡不要執行ui操作,否則會報空指標錯誤,畢竟還沒初始化。。。

fragment懶載入功能的實現

建立乙個fragment的父類,也可以算是fragment的工具欄,用於實現懶載入 直接將 拷貝上去就可以 import android.os.bundle import android.support.annotation.nullable import android.text.textutil...

Fragment懶載入預載入

1.預載入viewpager.setoffscreenpagelimit 2 預設是預載入1,可以結合懶載入使用。如果希望進入viewpager,fragment只載入一次,再次滑動不需載入 只有退出activity 可以重寫viewpager adapter的getitem,去掉super 2.懶...

Fragment的懶載入

使用原因 做應用開發時,乙個activity裡面可能會以viewpager與多個fragment來組合使用,而如果每個fragment都需要去載入資料,或從本地,或從網路載入,那麼在這個activity剛建立的時候就變成需要初始化大量資源。應用懶載入後,就能做到當切換到這個fragment時,它採取...