为了账号安全,请及时绑定邮箱和手机立即绑定

滚动时 recylerview 中的位置发生变化

滚动时 recylerview 中的位置发生变化

呼啦一阵风 2022-12-21 13:11:01
滚动时 recylerview 中的位置似乎发生了变化。我想做的是这样的。Adapter.java@Overridepublic 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    ...}@Overridepublic 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" />
查看完整描述

1 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

修改成这样,


if (position == 0) {

    holder.zeroIcon.setVisibility(View.VISIBLE);

    holder.otherIcon.setVisiblity(View.GONE);

    holder.oneIcon.setVisiblity(View.GONE);

} else if (position == 1) {

    holder.oneIcon.setVisiblity(View.VISIBLE);

    holder.zeroIcon.setVisibility(View.GONE);

    holder.otherIcon.setVisiblity(View.GONE);

} else {

    holder.otherIcon.setVisiblity(View.VISIBLE);

    holder.oneIcon.setVisiblity(View.GONE);

    holder.zeroIcon.setVisibility(View.GONE);

}

在RecyclerView更改项目时,您还应该管理其他视图。


查看完整回答
反对 回复 2022-12-21
  • 1 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信