滑动到顶部的时候加载更多,可以做聊天。
BaseMultiItemQuickAdapter 希望增加展开/折叠全部功能,就不用每次都自己写循环了.还有BaseMultiItemQuickAdapter的互斥功能,设置是否开启,开启后展开一个其他的自动收缩.
BaseMultiItemQuickAdapter 展开的item如果在最下方,看不到,自动滚动到可见.
还有getItemPosition()为啥是private的.
希望在BaseViewHolder里面增加个setSelected()方法
希望能添加数据更新功能
比如这样:
public void listUpdate(final List<T> data, final UpdateCallBack<T> callBack){
DiffUtil.calculateDiff(new DiffUtil.Callback() {
@Override
public int getOldListSize() {
return getData().size();
}
@Override
public int getNewListSize() {
return data.size();
}
@Override
public boolean areItemsTheSame(int oldItemPosition, int newItemPosition) {
return callBack.areItemsTheSame(getItem(oldItemPosition), data.get(newItemPosition));
}
@Override
public boolean areContentsTheSame(int oldItemPosition, int newItemPosition) {
return callBack.areContentsTheSame(getItem(oldItemPosition), data.get(newItemPosition));
}
}).dispatchUpdatesTo(this);
}
希望支持rxJava,不然还要自己在外面包一层
目前添加多个HeadView , 是添加进一个LinearLayout, 在这个容器里面添加views.
如果头部views 很多,长度也比较长,会导致内存消耗过大。
希望可以把添加HeadView 这个功能分离成多个子HeadViewItem,方便视图的回收释放
只监听RequestLoadMoreListener,不显示LoadMoreView
希望能加入类似QQ的侧滑菜单功能,目前的侧滑删除感觉不是很好。
V2.9.12,当加载更多失败时,能否增加上拉重新加载更多功能,而不只是点击重新去加载更多。
希望能增加上拉没有数据,切换跳转下一个条目
希望增加条目的吸顶效果
希望增加单选,多选的功能,感谢陈总!!
@qq781548819 单选和多选是item子view的功能吧?和adapter有什么关系?最近解决了一个人的bug,就是多选复用的问题,如果你需要可以看:https://github.com/Sky0202/About_BRVAH
希望能将加载更多的View对外暴露一下,因为可以通过暴露的View做一些动态展示文字的操作,望采纳!
@XuanJiAndroid 可以自定义加载更多的View,具体可以查看wiki
希望侧滑删除能有个删除按钮,删除操作还是得让用户再确认一下比较好
建议增加一个能自定义下拉刷新的功能,这个还是蛮实用的
@zhuchen1109 下拉刷新和adapter无关。
@skysmileereryday 集成应该不会了,因为这是view做的事情了,但是后续会想办法看能不能配合其他的第三方写个demo。
能做双层列表的购物车?
@ujffdi 可以
@shangdinvxu 有的,具体可以看wiki
使用BaseMultiItemQuickAdapter能不能让第二层的view嵌在第一层的view之间?如果有,具体实现?
@ujffdi 没太明白你的意思,你重新开一个issues,详细的说明一下吧
这个库,不支持 分割线吗 ?直接 在 item 布局 写 1dp 高度 view 的那种?
@chouchouyu 分割线是rv的事情。
仿 iOS的 侧滑希望可以支持
@CymChad 就和商城待付款的雷同。假设item是以订单区分的、第一层是订单、第二层是店铺、第三层是商品;然后item的最后肯定会有付款按钮、但是这按钮不属于任何层级
提个建议就是里面的仿ExpandableListView的效果,能不能,暴露出 获取父级索引的方法?
最近在做优化,把购物车的ExpandableListView改成当前的适配器,效果虽然实现了,但是,取消child的复选框的时候,想把group也取消,发现无法做到,最后自己只能在外面自己实现HashMap 写了好多逻辑才能解决。希望后面能暴露出 获取父级索引的方法
如果当前显示的对象已经拥有父类,那么就无法使用BaseMultiItemQuickAdapter了。
item侧滑删除可以有吗
@coolmaye 仿qq侧滑删除没有,单条侧滑直接删除有demo 。
@HowardWW 恩 是的,你有什么特殊需求吗?
@javalue 默认只显示,headerView或emptyView,如果要同时显示可以同设置isHeadandEmpty,footerView显示和隐藏你可以通过添加或删除来实现。
如果能跟阿里巴巴开源框架VLayout结合起来就更完美啦 https://github.com/alibaba/vlayout
建议增加仿qq 侧滑删除按钮
@PeanutZhang https://github.com/anzaizai/EasySwipeMenuLayout
希望添加databing+BaseMultiItemQuickAdapter 的组合使用方法
现在使用的2.9.22
滑动删除能否暴露控制某个item能否滑动的接口 我希望控制某些type的item不能删除
建议增加headView和emptyView并存的属性
目前setEmptyView后,headView会隐藏
希望增加这种属性,通过true,false控制是否隐藏headView
setEmptyView(emptyView,false);
@386534312 有这个setHeaderAndEmpty
@386534312 文档都有写 http://www.jianshu.com/p/b343fcff51b0
希望ExpandableItem可以在子节点直接获取到父节点是第几个,子节点是第几个
@wilson123 你需要获取的需求是做什么?
@xiaqiuming 已经添加了滑动到顶部加载,具体可以看 文档:http://www.jianshu.com/p/b343fcff51b0
@AndroidJohnsonWang @skysmileereryday 侧滑菜单可以配合https://github.com/anzaizai/EasySwipeMenuLayout 实用
@staticzh 吸附可以配合https://github.com/oubowu/PinnedSectionItemDecoration 实用
你好,BRAH非常好用,封装的也很近乎完美,但是我发现里面缺少ItemDecoration的封装,请问你们后续会考虑添加么
@sweet2o09 目前没有考虑,因为adapter是数据填充,而ItemDecoration和adapter无关,更多是和rv有关。
建议增加一个方法可以在adapter中初始化控件,场景主要为多层recyclerview嵌套,如果下次都要在上次的conver中初始化控件,有性能影响。
ExpandableItem 的删除和添加还是太复杂了。。希望有直接添加/删除父级,并刷新界面的方法。
@CymChad 关于“希望ExpandableItem可以在子节点直接获取到父节点是第几个,子节点是第几个”
我的需求是点击子item后在activity页面中获得position,然后对对应item数据进行更新后再刷新recycleview
@287138531 @wilson123 收到。
希望添加头部或尾部后设置空布局可以让头部和尾部显示出来.经常会碰到这种场景 ,必须有个头部显示在那里,下面显示空布局
@qq517103430 有api可以让头部和空布局以及尾部都显示出来的,具体你可以看文档 :http://www.jianshu.com/p/b343fcff51b0
建议增加一个关闭动画的方法,美工不希望下拉的时候也显示动画,虽然反射可以实现,还是希望直接提供
默认就是不显示动画的 @LambdaV5
美工希望下拉的时候不显示动画,上拉的时候显示动画
如果你想第一页不显示动画可以使用adapter.setNotDoAnimationCount(count); @LambdaV5
为何我试了不起作用
你的动画模式是 @LambdaV5
openLoadAnimation(new ScaleInAnimation(0.8f));
你设置了isFirstOnly(false) ?
没有
那你是不是在此操作之后使用了setNewData?
是的,下拉刷新之后都是调用setNewData
调试发现setNewData之后mLastPosition置为-1,可以考虑将不显示动画的值单独用个变量保存
@CymChad 宇明哥,能否把大家问的问题多保留几天时间,这样大家可以去中间学到一些自己没有遇到的问题。谢谢
@LambdaV5 恩可以的,所以目前可以在setNewData之前设置那个值。 @Troll4it 就算关闭了也不影响大家在issues的搜索框搜索结果,都是能查找到的,1000多个issues还是很有学习价值的。
设置了也会在setNewData里面重新赋值
说错了是之后重置之后
好的
Kotlin代码 Arrlist 数据使用sealed class 的时候,没办法在Adapter中判断想使用的layout ,希望可以支持
sealed class Lessons
data class Words(val name: String, val url: String, val eqclass: String, val time: String) : Lessons()
data class Ppts(val name: String, val url: String,val time:String ,val imgpath: String,val auther: String) : Lessons()
data class Videos(val name: String, val url: String,val time:String ,val id: String,val eqclass: String) : Lessons()
when (item) {
is Ppts -> item.url
is Words -> item.imgpath
is Videos->item.id
}
@lishuang08 没办法在Adapter中判断想使用的layout 这句话没搞懂是想表达什么意思?
哪种意思?
如果是kotlin 的多布局 应该这样写
/**
* 文 件 名: MultipleItemQuickAdapter
* 创 建 人: Allen
* 创建日期: 2017/6/14 14:05
* 修改时间:
* 修改备注:
*/
class MultipleItemQuickAdapter(context: Context, data: List<MultipleItem>) : BaseMultiItemQuickAdapter<MultipleItem, BaseViewHolder>(data) {
init {
addItemType(MultipleItem.TEXT, R.layout.item_text_view)
addItemType(MultipleItem.IMG, R.layout.item_image_view)
addItemType(MultipleItem.IMG_TEXT, R.layout.item_img_text_view)
}
override fun convert(helper: BaseViewHolder, item: MultipleItem) {
when (helper.itemViewType) {
MultipleItem.TEXT -> helper.setText(R.id.tv, item.content)
MultipleItem.IMG_TEXT -> when (helper.layoutPosition % 2) {
0 -> helper.setImageResource(R.id.iv, R.mipmap.animation_img1)
1 -> helper.setImageResource(R.id.iv, R.mipmap.animation_img2)
}
}
}
}
@AllenCoder 之前想用kotlin独有的sealed class (密封类) 方式,不是使用MultiItemEntity接口,没办法在convert中切换R.layout,因为每个item只有到使用的时候才能知道是哪种类型的
只是建议一下,感觉kotlin使用这种多类型的方式比较好(因为一直用data class ,感觉java的类太费劲了)
AbstractExpandableItem 这个类在实现类似qq好友列表时候。我只看到只能一条一条的去移除removeSubItem(int position)和removeSubItem(T subItem),能不能多一个移除所有子数据removeAllSubItem();的方法?还是本来就有的? 看了源码我最后是用了 ((HosptialDep) data.get(position)).getSubItems().clear();实现了清空
希望在调用loadmoreEnd()之后,不调用setNewData也能继续上拉加载更多
@LambdaV5 自己重新开启上拉开关也可以实现,本质上setNewData就是帮你开启了上拉开关。
功能:当数据不满一屏时,开启了上拉加载更多功能,希望不显示loadmoreview,
个人思路:根据目前框架的加载更多方法,在调用时,会传RecyclerView对象进去,
这样是否可以使用RecyclerView设置监听
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
LinearLayoutManager linearLayoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
int firstPosition = linearLayoutManager.findFirstVisibleItemPosition();
int lastPosition = linearLayoutManager.findLastVisibleItemPosition();
if (isHideLoadMoreView(firstPosition , lastPosition )) {
//隐藏页脚
} else {
// 可以显示页脚
}
}
});
private boolean isHideLoadMoreView(int firstPosition, int lastPosition) {
// 可能需要考虑Header位置
return firstPosition == 0 && lastPosition == mCourseList.size();
}
这个情况是 LinearLayoutManager 的情况,其他的暂时没想到。
loadMoreEnd后调用setEnableLoadMore(true)吗?为什么我调了不起作用
这个我想提个功能需求:
当数据不足一屏的时候,显示LoadMoreView布局,允许它占据屏幕剩余高度
请评估下,因为我看了很多应用,在数据未满一屏的时候底部LoadMoreView布局显示"无更多数据"然后是占据剩余屏幕高度,当数据超过一屏的话,该布局又是正常高度
请问如何实现既设置分组布局又设置多布局?应该选择继承哪个adapter呢
@Weimore 你直接使用多布局就好了,分组布局本质上就是多布局。
网格布局加载更多,效果不是很好啊,两列的数据,加载更多只是显示在第一列
@xiaqiuming 你可以新开一个issues,具体说说,你这样的问题描述,我们根本无法解决。
现在多类型的item的方法,在convert(BaseViewHolder helper, MultipleItem item)中,是不是还需要多做一步循环赋值操作,可不可以通过修改获取layout id的方式,而直接继承BaseQuickAdapter来省这一步循环赋值操作 ?
嗯,具体实现,比如这个:https://github.com/qyxxjd/CommonAdapter 里的多布局实现。感觉比现在的多布局实现方式更简便一些。
@Reginer 这种监听式的我们也是支持的具体可见https://github.com/CymChad/BaseRecyclerViewAdapterHelper/issues/968
希望给mHeaderLayout添加一个移出屏幕的监听事件,有时候会有这样的需求:在Header慢慢移出屏幕的时候做动画、或者另外一个View一开始是隐藏的,在Header完全移除屏幕时再显示出来
就像AppBarLayout.OnOffsetChangedListener这个方法差不多
请问有没有 数据筛选的功能?
建议把recyclerview兼容版本或者建议版本写上:
我用“com.android.support:recyclerview-v7:21.0.3”item子控件点击事件会报有方法找不到。
换成最新的“com.android.support:recyclerview-v7:25.3.1”结果item条目一个占满一页,相隔很远(原来的代码)。
后来换了个23.1.1的一切OK,其他版本没有尝试。
建议新增一个方法:判断是否是最后一条item
场景:分割线在item中定义,跟着最后一条item不显示分割线
private boolean isLastPosition(BaseViewHolder helper) {
int position = helper.getLayoutPosition() - getHeaderLayoutCount();
position++;
return position == mData.size();
}
@Reginer 嗯,我知道Recyclerview可以使用DividerItemDecoration弄分割线,不过我的用法是在item布局中底部添加一条线,在adapter中来控制,是否显示的
建议添加Javadoc 文档 ,谢谢!
希望能把Adapter的功能和刷新、加载更多的功能分开成两个库,方便根据自己的需求选择使用。
@Jusenr ju 有文档, @brick-man 这个我们会考虑。
楼层太高不易阅读,新的建议可以放在 #1688
Most helpful comment
希望能加入类似QQ的侧滑菜单功能,目前的侧滑删除感觉不是很好。