在RecyclerView中的android – setHasStableIDs(true)
作者:互联网
我是android的新手,当我点击RecyclerView中的一个项目时数据集发生了变化,位置与SQLite中的ID不匹配时,我遇到了困难.我知道我们可以通过使用’setHasStableID’获得唯一ID但我很小混淆了我需要在哪里设置这个’setHasStableId(true)’条件?这是如何运作的?
解决方法:
setHasStableId(true)将应用于RecylerView的适配器.
adapter.setHasStableId(true);
此外,为了使其生效,您必须覆盖getItemId(int position),以返回物品位置的已识别长度.我们需要确保没有具有相同返回ID的不同项目数据.
id可以是数据库中的id,对于每个项目都是唯一的,并且不会在整个过程中进行更改.
//inside the adapter class
@Override
public long getItemId(int position) {
return itemList.get(position).getId();
}
这将减少数据集通知的闪烁效果,其中仅修改具有更改的项目.
最重要的是它会在项目位置变化上添加很酷的动画!
标签:onitemclicklistener,android,android-recyclerview,listview 来源: https://codeday.me/bug/20190823/1700272.html