Fragment的可見再加載的方法(真正的Fragment的OnResume和OnPause)

一 起因

我們在做應用的過程中,一個應用的界面可能是多個Fragment切換而成的,但是如果在每次應用啓動的時候就去加載大量的網絡數據(假設你的每個Fragment都需要加載網絡數據,你也可以理解爲初始化大量資源)肯定是不好的,能不能有一種方法可以在我們看到我們的Fragment時再去加載對應的Fragment的數據呢?

當然是有的。

二 解決

Fragment雖然有onResume和onPause的,但是這兩個方法是Activity的方法,調用時機也是與Activity相同,和ViewPager搭配使用這個方法就很雞肋了,根本不是你想要的效果,這裏介紹一種方法。


 @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
            //相當於Fragment的onResume
        } else {
            //相當於Fragment的onPause
        }
    }
在你判斷
isVisibleToUser
這個參數爲true時,說明這個Fragment已經在你的眼前了,這時你再去加載你需要的數據就可以了。
是不是很簡單呢?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章