fragment的使用有兩種方式,一種是手動控制fragment的顯示和隱藏,例如:
getfragmentmanager().begintransaction().hide(mfragmentarray[1]).show(mfragmentarray[0]).commitallowingstateloss();
一種是viewpager和fragment組合。這兩種方式分別會觸發不同的方法,來控制顯示狀態。第一種方式,會觸發onhiddenchanged()方法。第二種方式,會觸發setuservisiblehint()。所以應該根據實際的使用場景來實現顯示狀態的監聽。
另外,由於可能會存在fragement的巢狀,當父fragment沒有在顯示狀態變更時,系統並不會自動同步子fragment的顯示狀態,所以這時候子fragment的顯示狀態並不可信,所以當子fragment需要判斷當前的顯示狀態時,應該加上父fragment的顯示狀態的判斷。
Fragment的狀態丟失
1 問題描述 場景 場景 viewpager繫結smarttablayout,每個viewpager裡面繫結乙個fragment 使用fragmentpageradapter 錯誤 當我們繫結的fragment過多的時候,切換到後面的fragment再返回第一頁的時候,發現資料被清除了 2 問題分析...
關於Fragment之間的互動
override public void onattach activity activity 二 新的onattach context context 方法,由於引數是context,可以直接獲得宿主activity的物件,避免了使用介面的步驟,更加簡單。public void onattach ...
Fragment 判斷是否顯示當前Fragment
fragment雖然有onresume和onpause的,但是這兩個方法是activity的方法,呼叫時機也是與activity相同,和viewpager搭配使用這個方法就很雞肋了,根本不是你想要的效果,這裡介紹一種方法。在fragment顯示出來呼叫的方法 public void setuserv...