viewpager中fragment的一些数据设置

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是否为空来决定是否请求网络,减少接口请求。

猜你喜欢

转载自blog.csdn.net/tz_1qu212/article/details/82255795
今日推荐