1、setUservisibleHint()
使用场景:当fragment结合viewpager使用的时候 这个方法会调用、在viewpager + fragment 联合使用时,利用setUserVisibleHint进行懒加载。
样例 @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (getUserVisibleHint()&&((mActivity))!=null) { //界面可见 ((DataCollectActivity) (mActivity)).hideMoreBtn(View.GONE); } else { } }
2、第二种用法:add hide show------使用onHiddenChange()进行刷新。
样例
* 修改显示的内容 不会重新加载
* newFragmeent 下一个fragment
* currentFrament 当前的fragment
*/
private void switchFragment(Fragment newFragmeent) {
if (newFragmeent != currentFrament ) {
FragmentTransaction transaction = fragmentManager.beginTransaction();
if (!newFragmeent.isAdded()) { // 判断是否被add过
// 隐藏当前的fragment,将 下一个fragment 添加进去
transaction.hide(currentFrament).add(R.id.layout_content, newFragmeent).commit();
} else {
// 隐藏当前的fragment,显示下一个fragment
transaction.hide(currentFrament).show(newFragmeent).commit();
}
currentFrament = newFragmeent
}
}