Android开发 ViewPager删除Item后,不会更新数据和View

问题描述:

在使用ViewPager的适配器删除适配器里一个Item后依然会,而删除的这个item依然会保留缓存,适配器不会重新加载更新数据.如下代码:

public class CardPagerAdapter extends PagerAdapter {
    private List<TReleaseCircleBase.Pic> mImageUrlList = new ArrayList<>();


    public void removeItem(int position){
        mImageUrlList.remove(position);
        notifyDataSetChanged();

    }

//....略

在这个代码里removeItem(int position)是希望清理适配器List里的一项item,并且重新刷新.但是其实真实情况是并不会重新刷新… 在滑动超过3个页面后才会让你那个删除item消失.

解决办法:

依然在这个适配器里重写public int getItemPosition(@NonNull Object object)方法

public class CardPagerAdapter extends PagerAdapter {
    private List<TReleaseCircleBase.Pic> mImageUrlList = new ArrayList<>();

    public void removeItem(int position){
        mImageUrlList.remove(position);
        notifyDataSetChanged();

    }


    @Override
    public int getItemPosition(@NonNull Object object) {
//        return super.getItemPosition(object);
        return POSITION_NONE;
    }

注意关键点是返回 POSITION_NONE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值