当前位置: 首页 > 知识库问答 >
问题:

RecyclerView在adapter,Android Studio中快速滚动项目和更改值

孙嘉悦
2023-03-14

我使用RecyclerView来放置JSON数据,并且在adapter中,我设置了一些特定值具有不同值的条件,然后隐藏了RelativeLayout。

应用程序运行时,一切正常,但当我滚动数据时,隐藏或不可见的字段变得可见。

现在我想要这个问题的解决方案,当我滚动回收器视图时,数据应该处于它定义的状态,而不是因为它的位置而洗牌或改变它的状态。

共有1个答案

贝自怡
2023-03-14

解决方案非常简单,这里只需要覆盖适配器类中的两个方法就可以解决问题。

原因是因为在呈现列表项时,其他一些重写方法需要调用这些重写方法。

将此代码放在适配器类的末尾。例如:https://i.stack.imgur.com/Q81Ud.png

public long getItemId(int position) {
    return position;
}

@Override
public int getItemViewType(int position) {
    return position;
}
 类似资料:
  • 我已经设置了一个回收器视图,每行都有文本视图和隐藏按钮。 如果用户单击该项,就会显示按钮。 如果用户单击其他项,则按钮将被隐藏。 再循环视图将位置发送到每个接口的活动,该活动更改其属性。 只要不滚动recyclerview,一切都能完美运行。 Layoutmanager.getchildat(职位) 现在,当项目超出视图时,用户滚动recyclerview,位置就会出错。每向下滚动一个用户单击的项

  • 问题内容: 我有一个RecyclerView,每个元素代表一个事件。我想让用户通过单击选择事件。选择后,事件和报告按钮将变为彩色: 进行点击之前的用户界面:点击此处。 用户界面执行单击后:单击此处。 这非常简单,并且据称有效。我为每个负责为项目着色的对象设置了一个,并在触发时触发了名为的拥有活动中的另一个事件,该事件负责更改按钮的状态。 但是,滚动浏览RecyclerView的项目时,其他不相关的

  • 我有一个清单,我在回收商的视图中展示了这一点 一些项目有蓝色背景和其他项目有灰色背景 我想编辑所选项目背景(所选项目表示已单击的项目) 这是我的适配器类

  • 启动项目(请先完成环境依赖安装) 克隆项目 执行 => composer install (如果安装很慢,可以使用国内镜像,但是镜像包会有延迟) 新建一个runtime目录,用于存放日志等cache文件 配置config中的database配置文件 设置config/service.php中的registry_address.目前只支持redis、mysql作为注册中心 启动http server

  • 在ListView上,您可以使用一个快速滚动条,它允许您拖动滚动条,以便轻松滚动到您希望的任何位置(使用fastScrollEnabled属性) 再加上“SectionIndexer”类和一些可选的属性,您可以在使用此滚动条时看到一个漂亮的弹出窗口(此处链接)。 这种东西显示在联系人应用程序上,这样你就可以很容易地滚动到特定的字母。 RecyclerView似乎没有这些。甚至连快速滚动都没有。 如

  • 我有一个带有CardViews的RecyclerView列表,它运行良好。当用户在名为ActActivity的输入UI上输入数据时,创建CardViews。当用户稍后单击CardView以编辑原始数据时,onItemClick方法使用捕获适配器中正确CardView项位置的start方法再次启动ActActivity。 当用户单击UI上的Save按钮以保存编辑的数据时,ActActivity UI