vlayout icon indicating copy to clipboard operation
vlayout copied to clipboard

继承了DelegateAdapter.Adapter<BaseViewHolder> 的类,执行了notifyDataSetChanged()

Open Anayuta opened this issue 8 years ago • 11 comments

导致的是其他继承了这个类的onBindViewHolderWithOffset方法

Anayuta avatar Jan 08 '18 04:01 Anayuta

notifyDataSetChanged() 这个是全局刷新,是这样的。

longerian avatar Jan 08 '18 04:01 longerian

@longerian 那有没有就刷新单个Adapter的呢?

Anayuta avatar Jan 08 '18 04:01 Anayuta

单个刷新的其实就是调用delegateAdapter 的 notifyItemXXX 之类的方法,但是要你自己算提供好在整个页面下的position信息。

longerian avatar Jan 08 '18 13:01 longerian

帅哥,我调用 notifyItemXXX 之类的方法,删除的时候有 bug,最后一个 item 会占满横向布局(会闪一下) 代码简要如下:

GridLayoutHelper menuHelper = new GridLayoutHelper(2)
BaseDelegateAdapter menuAdapter = new BaseDelegateAdapter
//删除
notifyItemRemoved(position);
notifyItemRangeChanged(position, getItemCount()); //刷新被删除数据,以及其后面的数据

ADsuper avatar Jan 11 '18 05:01 ADsuper

。。。代码块怎么变成这样了。。。

ADsuper avatar Jan 11 '18 05:01 ADsuper

这里内部还有一些细节要注意,数据删除之后,layoutheper对应的range的起始位置也要更新,所以还比较麻烦,可能需要我封装一下提供接口比较好。

longerian avatar Jan 11 '18 08:01 longerian

List<DelegateAdapter.Adapter> 添加多个适配器,刷新其中一个,所有的适配器数据都跟着刷新了,如何解决?

ll821362151 avatar Feb 01 '18 06:02 ll821362151

我尽快提供api ....

longerian avatar Feb 04 '18 12:02 longerian

所以现在还是没有吗。。囧。。

downtail avatar Jul 10 '18 12:07 downtail

所以现在还是没有吗。。囧。。

nanguaSky avatar Aug 10 '18 03:08 nanguaSky

所以现在还是没有吗。。囧。。

babyofish avatar Jan 10 '20 13:01 babyofish