BaseRecyclerViewAdapterHelper icon indicating copy to clipboard operation
BaseRecyclerViewAdapterHelper copied to clipboard

BRVAH技术交流群

Open CymChad opened this issue 4 years ago • 83 comments

技术交流群可以加我微信(chad_cym)备注:技术交流,拉你入群

CymChad avatar Jul 13 '19 06:07 CymChad

判断手机屏幕当前显示的是哪一条item或者哪条item占的比重最大。很多用来列表播放视频的,都能用到,就像微博视频一样,滑到哪个item,播放哪一个视频。

yangfeng1994 avatar Jul 13 '19 06:07 yangfeng1994

[多布局之间拖动 #2692] (https://github.com/CymChad/BaseRecyclerViewAdapterHelper/issues/2692)

MachKanh avatar Jul 13 '19 15:07 MachKanh

目前section有header,建议加个footer

kyriej avatar Jul 13 '19 16:07 kyriej

mvvm+databinding开发架构什么时候支持

yuchangzhao avatar Jul 16 '19 02:07 yuchangzhao

能不能为BaseItemProvider提供构造ViewHolder时的回调事件 现在的BaseItemProvider并不能完全的做到业务独立 例如我以往可以在ViewHolder的构造方法里一次性的为TextView添加TextWatcher 现在只能在ItemProvider的convert方法里创建TextWatcher并付值为ItemProvider的成员变量 然后addTextWatcher之前检测成员mTextWachter是否为空 如果不为就先执行removeTextChangedListener方法然后再创建一个新的TextWahter成员去付值 有点恶心...希望作者可以改进一下

jeonhei avatar Jul 19 '19 07:07 jeonhei

多选、支持纯view创建方式的item

limuyang2 avatar Jul 19 '19 16:07 limuyang2

最近在做香港相关的项目,因此要适配繁体中文,楼主能不能string.xml做个多语言。

jhui20130703 avatar Jul 21 '19 08:07 jhui20130703

希望能兼容PagedListAdapter

animus198656 avatar Jul 22 '19 03:07 animus198656

BaseMultiItemQuickAdapter 新增函数用来删除指定 Item 的 subItem 。

shichaohui avatar Jul 22 '19 08:07 shichaohui

传一个SparseArray的数据类型 而不是 list

ZhangWenqiangx avatar Jul 22 '19 09:07 ZhangWenqiangx

希望adapter可以返回onBindViewHolder中的List<Object> payloads参数,用来实现item中某个控件的刷新

jw10041229 avatar Jul 23 '19 03:07 jw10041229

希望adapter可以返回onBindViewHolder中的List payloads参数,用来实现item中某个控件的刷新

最新版本 v2.9.47 已经加入了 DiffUtil 做局部刷新,具体使用方式参考 DiffUtilActivity

shichaohui avatar Jul 23 '19 03:07 shichaohui

RecyclerView添加搜索过滤器,这个功能很有必要

douya40 avatar Jul 23 '19 09:07 douya40

正常的RecyclerView设置setEnptyView之后能正常显示,但是如果是这个RecyclerView设置了HeaderView之后,因为监听的是列表数据的变化,就会出现头部数据变化了之后,调用notifyDataSetChanged更改数据时无反应。

Onperson avatar Jul 25 '19 05:07 Onperson

@Onperson 头部数据数据变化后,headeriview的数据变化需要自己手动更新,因为adapter的headerview的数据绑定没有走adapter的convert方法

AllenCoder avatar Jul 25 '19 05:07 AllenCoder

正常的RecyclerView设置setEnptyView之后能正常显示,但是如果是这个RecyclerView设置了HeaderView之后,因为监听的是列表数据的变化,就会出现头部数据变化了之后,调用notifyDataSetChanged更改数据时无反应。

headView 可以单独用一个 viewBinder 管理。

xuyingke avatar Jul 25 '19 09:07 xuyingke

支持下butterKnife

BroganGrow avatar Jul 29 '19 08:07 BroganGrow

支持下butterKnife

没懂,可以详细说一下吗?~

xuyingke avatar Jul 29 '19 08:07 xuyingke

允许使用ButterKnife在adapter里面进行控件view的初始化 @BindView(R.id.title) TextView name; @BindView(R.id.job_title) TextView jobTitle;

BroganGrow avatar Jul 29 '19 09:07 BroganGrow

允许使用ButterKnife在adapter里面进行控件view的初始化 @BindView(R.id.title) TextView name; @BindView(R.id.job_title) TextView jobTitle; 哦哦 ,大概懂了。其实已经算支持了,你的业务代码写在哪里的? 如果是 xxHolder 来继承 BaseViewHolder 。里面写业务代码。如果这么做的话,在构造器里就可以 ButterKnife.bind(this, view); 。

xuyingke avatar Jul 29 '19 09:07 xuyingke

允许使用ButterKnife在adapter里面进行控件view的初始化 @BindView(R.id.title) TextView name; @BindView(R.id.job_title) TextView jobTitle;

@Brainbg 不需要 Adapter 提供支持。 ButterKnife 可以绑定 View 到任意对象,只要自定义 ViewHolder 就行了:

class MyViewHolder extends BaseViewHolder {
        
    @BindView(R.id.tv)
    TextView tv;

    public MyViewHolder(View view) {
        super(view);
        ButterKnife.bind(this, view);
    }

}

温馨提示: BaseViewHolder 已经提供了几乎所有常用的 View 操作,如 setText(viewId, text) setImageResource(viewId, resId) getView(viewId) ,并且会自动缓存,没必要使用 ButterKnife。

shichaohui avatar Jul 29 '19 09:07 shichaohui

希望修改 分页数据不占满一屏,会自动加载更多的问题。只加载第一页的数据,不要自动加载第二页,第三页...的数据。

bingdu0 avatar Jul 30 '19 06:07 bingdu0

希望修改分页数据不占满一屏,会自动加载更多的问题。只加载第一页的数据,不要自动加载第二页,第三页...的数据。

你在调用setNewData之后 ,调用disableLoadMoreIfNotFullPage()方法,不满一页的时候,就不会自动加载第二第三页的数据了。

yangfeng1994 avatar Jul 30 '19 06:07 yangfeng1994

https://github.com/luizgrp/SectionedRecyclerViewAdapter 参考一下这个库,里面的思想很有意思,不局限于将数据格式化(继承相同的MultiItemEntity),每一个section可以设置不同的数据,展示不同的界面样式。而且我发现使用BRVAH会有一些局限性,类似于朋友圈评论的查看全部这种就不太好实现,还有目录结构的列表时,item样式只能相似的才可以用,样式差异大的时候,像ItemDecoration就没办法使用了,还有当顶层目录像cardview那种样式,展开的时候还要保持下级目录也在cardview那里面,就不好实现了

txxxtxx avatar Aug 01 '19 03:08 txxxtxx

支持右滑的recycleview吗

kallever avatar Aug 01 '19 08:08 kallever

支持右滑的recycleview吗

这个只是一个适配器,和你的 RecycleView 怎么滑动没关系的。

xuyingke avatar Aug 01 '19 09:08 xuyingke

SpanSizeLookup的处理不合理。 BaseQuickAdapter#onAttachedToRecyclerView() 函数中给 manager 设置了 SpanSizeLookup,导致在 setAdapter() 之前 manager.setSpanSizeLookup() 的值被覆盖导致无效。 目前的错误的写法:

gridManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
    @Override
    public int getSpanSize(int position) {
        ...
        if (mSpanSizeLookup == null) {
            return isFixedViewType(type) ? gridManager.getSpanCount() : 1;
        } else {
            return (isFixedViewType(type)) ? gridManager.getSpanCount() : mSpanSizeLookup.getSpanSize(gridManager, position - getHeaderLayoutCount());
        }
    }
}

正确的写法:

// 记录默认的 SpanSizeLookup
final GridLayoutManager.SpanSizeLookup defSpanSizeLookup = gridManager.getSpanSizeLookup();
// 设置新的 SpanSizeLookup 作为代理
gridManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
    @Override
    public int getSpanSize(int position) {
        ...
        if (mSpanSizeLookup == null) {
            // adapter 不处理的时候,需要使用默认的 SpanSizeLookup 处理,而不是直接返回 1 。
            return isFixedViewType(type) ? gridManager.getSpanCount() : defSpanSizeLookup.getSpanSize(position);
        } else {
            // 需要使用设置到 adapter 的 SpanSizeLookup 处理。
            // position 参数需要与默认的 SpanSizeLookup 保持一致,不应该减去头部数量。
            return (isFixedViewType(type)) ? gridManager.getSpanCount() : mSpanSizeLookup.getSpanSize(gridManager, position);
        }
    }
});

shichaohui avatar Aug 05 '19 08:08 shichaohui

支持SortedList

treasure-lau avatar Aug 07 '19 03:08 treasure-lau

由于 [添加多个HeaderView,最终会被合成一个item ]https://github.com/CymChad/BaseRecyclerViewAdapterHelper/issues/950 ; 现在有这样一个需求: 我添加了三个HeaderView,然后我滑动时获取firstVisibleItemPosition,判断当滑动到第二个HeaderView位置时,显示其他view。 然而我是获取不到第二个HeaderView位置的,因为在HeaderView范围时一直返回的是0(被合成一个item)。我只能通过偏移量或其他方式获取对应HeaderView显示的位置,当HeaderView过多时没有直接获取HeaderView的item位置来的方便。

youlookwhat avatar Aug 19 '19 09:08 youlookwhat

setBackgroundColor() setTextColor() 现在好像支持 @ColorInt 类型的值,希望可以支持@ColorRes,这样做一些颜色的设置更灵活和方便,适用更广泛!

IceWaterGuo avatar Aug 22 '19 01:08 IceWaterGuo