gpt4 book ai didi

android - RecyclerView 中的 setHasStableIDs(true)

转载 作者:太空宇宙 更新时间:2023-11-03 12:14:44 25 4
gpt4 key购买 nike

我是 android 的新手,当我点击 RecyclerView 中的一个项目时卡住了,那里的数据集发生了变化,位置与 SQLite 中的 ID 不匹配。我知道我们可以通过使用“setHasStableID”来获得唯一的 ID,但是我对我需要在哪里设置这个“setHasStableId(true)”条件感到困惑?这是如何运作的?

最佳答案

setHasStableIds(true) 应用于RecylerView的adapter。

adapter.setHasStableIds(true);

此外,要使其生效,您必须重写 getItemId(int position),以返回位置处项目的标识 long。我们需要确保没有不同的项目数据具有相同的返回 id。id 可以是数据库中的一个 id,它对于每个项目都是唯一的,并且不会在整个过程中更改。

//Inside the Adapter class
@Override
public long getItemId(int position) {
return itemList.get(position).getId();
}

这将减少数据集通知的闪烁效果,它只修改有更改的项目。

最重要的是它会在项目位置变化时添加很酷的动画!。

关于android - RecyclerView 中的 setHasStableIDs(true),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44081579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com