剛開始做fragment切換就是直接調用fragment的replace方法
但是,這個方法每次都是重新創建的視圖(fragment對象沒有重建),這樣有很多弊端,比如要求每次切換回來後重新請求數據的話,實現起來就比較費勁了
後來就在方法裏面找,終於發現一個方法
每個fragment都有一個hide()和show()的方法,這樣就不用每次重建fragment了,你可以選中是否重新刷新數據,很方便,下面放出這個方法
/**
* 當界面重新展示時(fragment.show),調用onrequest刷新界面
*/
@Override
public void onHiddenChanged(boolean hidden) {
// TODO Auto-generated method stub
super.onHiddenChanged(hidden);
breed_name = null;
quality_name = null;
orgin_name = null;
searchTxt = null;
allPage = 1;
tv_allpurchase_public_time.setTextColor(0xff1f92c8);
tv_allpurchase_public_price.setTextColor(0xff333333);
if (!hidden) {
firstRefresh();
}
}
這個方法在每次切換回來後會重新調用一下,可以在這裏寫重新請求的方法,參數 hidden 爲true的和false來分別時候是重新回來這個fragment,根據這個boolean
來判斷是不是應該重新請求數據