今天項目中涉及fragment中嵌套多個fragment,但是要根據tag去展示對應的fragment,而不是默認展示的第一個fragment,如果使用activity很容易想到onpause(),onResume()中進行處理,但是你會發現fragment的onpause和onresume只調用一次,因此,需要通過重寫onHiddenChanged來進行處理,該方法當fragment隱藏時,該方法會調用傳入參數為true表示該fragment被隱藏了,當fragment調用了show方法后,該方法傳入的參數為false,表示該fragment正在顯示!,因此可以使用該方法來實現類似activity中onresume() onPause()的操作
@Override public void onHiddenChanged(boolean hidden) { super.onHiddenChanged(hidden); String tag = PreferenceUtils.getPrefString(context, Constant.TOCHOOSECARTAG, Constant.BRAND); if (tag.equals(Constant.BRAND)) { pager.setCurrentItem(0); }else { pager.setCurrentItem(1); } }
如上tag內容是前面設定加載不同頁面的tag表示,每次進入這個父fragment頁面,都會去判斷這個內容,今兒加載不同的fragment。