android viewpager 删除其中的一个view并刷新界面

这里面有讲   重点 讲的很清晰



https://www.jianshu.com/p/266861496508

最简单的解决方案

那就是直接一刀切:重写 PagerAdapter 的 getItemPosition(Object object) 方法,将返回值固定为 POSITION_NONE。

先看看效果:

![最简单解决方案示例](http://upload-images.jianshu.io/upload_images/1233754-0071612440ec3200.gif?imageMogr2/auto-orient/strip ”最简单解决方案示例“)

上代码(PagerAdapterActivity.java):

@Override
public int getItemPosition(Object object) {
    // 最简单解决 notifyDataSetChanged() 页面不刷新问题的方法
    return POSITION_NONE;
}

该方案的缺点:有个很明显的缺陷,那就是会刷新所有的 Item,这将导致系统资源的浪费,所以这种方式不适合数据量较大的场景。

注意:
这种方式还有一个需要注意的地方,就是重写 destoryItem() 方法:

扫描二维码关注公众号,回复: 3679225 查看本文章
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
    // 把 Object 强转为 View,然后将 view 从 ViewGroup 中清除
    container.removeView((View) object);
}


作者:diygreen
链接:https://www.jianshu.com/p/266861496508
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


猜你喜欢

转载自blog.csdn.net/meiwan123/article/details/79581824