public class FragmentInViewPager extends Fragment {
private Object netData;
private boolean isCreated = false;
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
if (!isVisibleToUser && isCreated) {
//从该界面中离开的一些操作
}
super.setUserVisibleHint(isVisibleToUser);
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (netData == null) {
//请求网络获取数据
} else {
setData(netData);
}
isCreated = true;
return super.onCreateView(inflater, container, savedInstanceState);
}
private void setData(Object netData) {
//UI数据设置
}
@Override
public void onDestroyView() {
super.onDestroyView();
isCreated = false;
}
}
1、从可见到不可见的判断通过添加了一个isCreated状态值来判断;
2、通过判断netData是否为空来决定是否请求网络,减少接口请求。