www.fltk.net > AnDroiD rECyClErviEw 为什么刷新位置错乱

AnDroiD rECyClErviEw 为什么刷新位置错乱

先描述问题,如上图,我们选中了第三个item。然后滑动RecyclerView,让第三个item移出界面后,在滑回来,item的状态是否还在? 由于滑动,view的复用,会丢失之前item选中的状态,但是,但是,item上显示的数据为什么没有错乱呢?这是因为数据集...

你打印一下log信息就知道了,滑动的时候就会走onBindViewHolder(), 然后position就会从屏幕的第一个算起,让后就错乱了,你用 if 设置了显示“已关注”同时使用 else 或者 else if (自己的条件)设置 其他的没关注的,然后就可以了。

你可以把每个item的点赞数likeCount也保存起来啊,然后用的时候直接获取item.likeCount就可以了

有没有可能是你系统出了问题,一些简单的设置后还不好用的话,就重做系统吧!我的电脑就出现过这类问题,网页上的字都重叠了!.

这个是因为你的这个recyclerView的适配器adapter的数据还没有被清空,虽然你removeAllView()了,但是你的data没有清空,之后又notifyDataSetChanged() ,recyclerView又被重新加载了,所以又出现view了。 至于 保留着新的条目 ,这个是因为...

android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_below="@+id/title" android:weightSum="11">

既然是在Adapter类里面的方法,this当然就是个Adapter 这肯定是报错的 你填 XXXActivity.this,就可以了。

这要看你怎么设值得,贴设值时候的代码

既然是在Adapter类里面的方法,this当然就是个Adapter这肯定是报错的你填 XXXActivity.this,就可以了。

notifyItemRemoved(int position),把position位置的那条删除 @OnClick(R.id.button_delete) public void delete(){ mList.remove(2); mAdapter.notifyItemRemoved(2); mAdapter.notifyItemRangeChanged(0,mList.size()-2); }

网站地图

All rights reserved Powered by www.fltk.net

copyright ©right 2010-2021。
www.fltk.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com