它不会.ViewHolder的setIsRecyclable()func

0

的问题

我想要设置我的看法持有人不再循环,这里的代码:

@Override
public void onBindViewHolder(final ViewHolder viewHolder, final int position) {
    viewHolder.setIsRecyclable(false);
}

然而,当我看到文件在这里: https://developer.android.com/reference/androidx/recyclerview/widget/RecyclerView.ViewHolder#setIsRecyclable(boolean)是这样写的setIsRecycleable()应该总是成对的我不知道这一点。 任何人都可以提供一个代码样本用于这种情况下? 当我应该叫setIsRecyclable(true)了吗? 谢谢。

enter image description here

3
0

不回收 ViewHolder 只是意味着具体的 ViewHolder 将会保留,并不复盖当有新的数据结合,问题是 Adapter 然后将需要供应的另一个 ViewHolder 作为一个它不能再使用。

这就是为什么你需要最终让它再循环即 setIsRecycleable(true) 因为它有点失败点 RecyclerView 如果这结束了具有创新意见表示的数据。

一个原因,你可能要关闭回收是为了避免中断,也许 ViewHolder 是播放的动画,或装载一段视频。 一旦其完成然后可以把回收,以释放 ViewHolder 以确保它可以再次使用。

2021-11-24 06:12:08
0

这是更好地使用列表视图在这种情况。 整个含义,它不会是要回收。 别看看这个职位 https://stackoverflow.com/a/36275862/3094367

2021-11-24 06:03:40
0

实际回收有关的viewType.
你只是改变每一项类型是独特的
如:

@Override
public int getItemType(int position){
    return position
}
2021-11-24 06:28:44

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................