BaseLoadDataForNetFragment
发布日期:2021-08-18 20:58:57 浏览次数:2 分类:技术文章

本文共 1900 字,大约阅读时间需要 6 分钟。

/** * Fragment 加载网络请求 */public abstract class BaseLoadDataForNetFragment extends Fragment {    // 视图是否初始化完成    protected boolean isViewInitiated;    // 界面是否可见    protected boolean isVisibleToUser;    // 数据是否加载    protected boolean isDataInitiated;    @Override    public void onActivityCreated(Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        isViewInitiated = true;        prepareFetchData();    }    @Override    public void setUserVisibleHint(boolean isVisibleToUser) {        super.setUserVisibleHint(isVisibleToUser);        this.isVisibleToUser = isVisibleToUser;        prepareFetchData();    }    private void prepareFetchData() {        // 不设置为需要每次可见的时候都强制刷新界面        prepareFetchData(false);    }    /**     * 设置true,可强制刷新界面     *     * @param forceUpdate 是否强制刷新界面     * @return     */    protected void prepareFetchData(boolean forceUpdate) {        if (isVisibleToUser && isViewInitiated && (!isDataInitiated || forceUpdate)) {            fetchDataForNet();            isDataInitiated = true;        }    }    /**     * 刷新数据,网络刷新数据     */    public abstract void fetchDataForNet();}

fragment中请求网络。。

子fagnment 复用已经加载的数据

@Nullable    @Override    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        WLog.d("onCreateView");        View mView = inflater.inflate(R.layout.fragment_my_order, container, false);        mNoDataTV = (TextView) mView.findViewById(R.id.fragment_order_tv_no_data);        mShowLoading = (LinearLayout) mView.findViewById(R.id.fragment_order_ll_loading);        // 子界面可以重用网络加载的数据        if (isDataInitiated) {            WLog.d("数据已经加载过...无需再次请求数据");            //mShowLoading.setVisibility(View.GONE);            //mNoDataTV.setVisibility(View.VISIBLE);        }        return mView;    }

 

转载于:https://www.cnblogs.com/H-BolinBlog/p/9007340.html

转载地址:https://blog.csdn.net/weixin_30906185/article/details/94967937 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Android Studio使用过程中遇到的错误
下一篇:定义和调用TP的模板

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月25日 19时56分47秒