刚开始做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
来判断是不是应该重新请求数据