首页 > Web开发 > 详细

BaseLoadDataForNetFragment

时间:2018-05-08 13:06:18      阅读:183      评论:0      收藏:0      [点我收藏+]
/**
 * 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);
        WLog.d("onActivityCreated");

        isViewInitiated = true;
        prepareFetchData();
    }


    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        WLog.d("setUserVisibleHint:" + isVisibleToUser);

        this.isVisibleToUser = isVisibleToUser;
        prepareFetchData();
    }


    private boolean prepareFetchData() {
        WLog.d("prepareFetchData");

        return prepareFetchData(false);
    }

    /**
     * 设置true,可强制刷新界面
     *
     * @param forceUpdate 是否强制刷新界面
     * @return
     */
    protected boolean prepareFetchData(boolean forceUpdate) {
        if (isVisibleToUser && isViewInitiated && (!isDataInitiated || forceUpdate)) {
            fetchDataForNet();
            isDataInitiated = true;
            return true;
        }
        return false;
    }

    /**
     * 刷新数据,网络刷新数据
     */
    public abstract void fetchDataForNet();

 

BaseLoadDataForNetFragment

原文:https://www.cnblogs.com/H-BolinBlog/p/9007340.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!