首页 > 解决方案 > 在 Kotlin 中编写一个适用于空列表情况的 RecyclerView 适配器

问题描述

我正在处理一个在RecyclerView. 到目前为止,可以添加和删除元素。用户还可以通过几个 popUpWindows 更改每个元素的内容。但是,MyViewHolder由于s很多,上课时间很长onClickListener。因此,我将MyRecyclerViewAdapter课程与其他活动放在一个单独的文件中。现在,

  1. MyViewHolder与许多点击侦听器(在 Adapter 对象中完成大部分工作)保持长时间的类是一个好习惯,还是我应该MyRecyclerViewAdapter以某种方式检索相关数据并在部分内执行“删除、添加、编辑文本”工作onCreate

  2. 当所有元素都被删除时,什么是最有效、最简单和最快速的解决方案来显示一个全新的和不同的视图?我尝试了 VISIBLE, GONE 解决方案,但 MyAdapter 在一个单独的文件中,我不知道如何与 onCreate 部分通信以传输动态列表的实时大小。

标签: androidkotlinandroid-recyclerviewempty-list

解决方案


1/ 如果您的操作是与列表中的项目组件交互(添加、删除、编辑、获取内容...),您应该将该功能放在适配器中,单击 ViewHolder 应该只给出其在适配器中的位置。此处的解决方案:Kotlin 中的 RecyclerView itemClickListener

2/ 为什么使用 VISIBLE, GONE ?当您删除一个项目时,意味着您删除了数据列表中的项目,因此只需重新加载视图,适配器将自动显示剩余数据


推荐阅读