如何实现 Android 像 iOS UITableView 这样的多项目列表视图

How to implement Android Multi-item listview like iOS UITableView

现在我正在 Android 应用程序中实现聊天屏幕。 使用 ListView 的适配器模式似乎是最好的一个单元格。 您知道您需要在聊天屏幕中使用不同类型的用户消息、照片、视频、日期、公告等单元格。

我知道的常规方法有两种。

  1. 在getView()方法中,每次创建一个新类型的单元格。
  2. 首先,放入所有项目,然后在 getView() 方法中,通过 VISIBLE/GONE 选项调整 UI 布局。

我认为第二种方法更好,但这种方法仍然浪费内存且实现起来很复杂。

对于 iOS 的 UITableView 按单元格类型的数量生成多个队列。它在 Multi-Item ListView 中很有效。 有什么简单的方法可以实现 iOS?

考虑使用此库 JSQMessagesViewController 它非常灵活且可扩展。

使用 RecyclerView 代替 ListView

为每个项目视图创建 xml 文件。为每个文件 xml.

创建 ViewHolder

RecyclerViewAdapter 覆盖 getItemViewType() return 视图类型与其位置相对应。覆盖 onCreateViewHodler 与视图类型对应的 return ViewHolder。最后,覆盖 onBindViewHolder 将您的数据绑定到您的布局。