ViewPager取消Fragment的预加载

ViewPager取消Fragment的预加载使用setUserVisibleHint()方法;

但是如果ViewPager加载第一个Fragment的时候,获取实例化的控件、或者系统控件会报null指针异常,大概是因为当前页面没有绘制完成。因此要判断下。

    
    public boolean isShowView;//是否已可见视图
public RecyclerView recycleview; @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); isShowView = isVisibleToUser; if (isVisibleToUser) { if (recycleview == null) {//recycleview需要在onViewCreate实例化;当为空的时候说明页面绘制未完成,用onResume()调用数据 isShowView = isVisibleToUser; } else { isShowView = false; initData();//加载数据方法
} } } @Override public void onResume() { super.onResume(); if (isShowView) { initData();//加载数据方法 } }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值