public class fragment01 extends Fragment {
private View view;
private boolean isViUser;
private boolean isFirst=true;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (view==null){
view = inflater.inflate(R.layout.image_pop, container, false);
}
return view;
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
isViUser=isVisibleToUser;
if (isViUser&&view!=null){
initData();//第一次进来不会在这里请求 因为view没有创建 第二次进来 会请求数据
}
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (isViUser&&view!=null&&isFirst){
isFirst=false;//第一次创建 需要 加载一次 但是等第二次进来 设置为false 显示的setUserVisibleHint 会请求一次 所以 这里在变为false 就不会重复加载了 you know?
initData();
}
}
private void initData() {
}
}