BaseMultiItemQuickAdapter 条目position获取

使用 BaseRecyclerViewAdapterHelper 框架,在使用多类型条目或者伸展类型时候发现一个问题

上面左右两个图分别是 次级列表关闭展开转态下 点击level 0 第二个条目时 获得的position

 int pos = holder.getAdapterPosition();
 Log.d(TAG, "Level 0 item pos: " + pos);
 Toast.makeText(mContext, "Level 0 item pos: " + pos, Toast.LENGTH_SHORT).show();

因为我的需求是 先获取level 0的数据 再去分别获取次级item 的数据,所以在展开状态下 无法获取到正确的data ,有时候还会造成数据越界。

去githup 查找 issue

看到这里给了自己一个思路

public class Level1Item extends AbstractExpandableItem<ClientEntity> implements MultiItemEntity {
    public String title;
    public String subTitle;
    public int ItemPos;
    public Level1Item(String title, String subTitle,int ItemPos) {
        this.subTitle = subTitle;
        this.title = title;
        this.ItemPos = ItemPos;
    }

    public int getItemPos() {
        return ItemPos;
    }

    public void setItemPos(int itemPos) {
        ItemPos = itemPos;
    }

    @Override
    public int getItemType() {
        return SelectClientAdapter.TYPE_LEVEL_1;
    }

    @Override
    public int getLevel() {
        return 1;
    }
}

在level 0 的数据里绑定他的position 

在item的点击事件中取出数据时,

Level1Item l1 = (Level1Item) sectionAdapter.getItem(position);
int pos = l1.getItemPos();

第一个postion 就是 点击时候获取的 第二个时在数据源 中的位置

问题记录一下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值