滚动时 recylerview 中的位置似乎发生了变化。
我想做的是这样的。
Adapter.java
@Override
public void onBindViewHolder(aViewHolder holder, int position) {
if (position == 0) {
holder.zeroIcon.setVisibility(View.VISIBLE);
} else if (position == 1) {
holder.oneIcon.setVisiblity(View.VISIBLE);
} else {
holder.otherIcon.setVisiblity(View.VISIBLE);
}
// Set text on each item
...
}
@Override
public int getItemCount() { return models.size(); }
public class aViewHolder extends RecyclerView.ViewHolder {
private ImageView zeroIcon;
private ImageView oneIcon;
private ImageView otherIcon;
public aViewHolder(View itemView) {
super(itemView);
zeroIcon = itemview.findViewById(...);
...
}
}
我将这些图标的可见性设置为文件中的GONE默认值。xml
当我第一次看到 recylerview 时,图标会根据其位置按我的预期显示。
但是,当我向下滚动和向上滚动时,不正确的图标也会出现在不正确的位置。上下滚动时喜欢otherIcon显示在第一个和第二个项目上。向下滚动时,zeroIcon会oneIcon出现在其他一些项目上。
我怎样才能解决这个问题?
list_item.xml是这样的。
<RelativeLayout ...>
<ImageView
android:id="@+id/zero"
android:visiblity="gone"
android:background="@drawable/zero" />
<ImageView
android:id="@id/one"
android:visiblity="gone"
android:background="@drawable/one" />
<ImageView
android:id="@id/other"
android:visiblity="gone"
android:background="@drawable/other" />
MYYA
相关分类