我想创建一个自定义列表视图,如下图所示。我正在创建一个聊天应用程序,该应用程序必须传递文本,图像和视频等。见下图。
其中,当用户在聊天中发送/接收图像时,如果他想通过点击该图像旁边的按钮看到该图像,如何使用该图像路径(或)网址移动到另一个活动,以显示完整图像,当图像上的用户clickngi必须显示快速视图时。同样的方式,如果那是视频,我必须得到该路径(或)网址正确播放视频。 如何区分列表项取决于项类型。
答案 0 :(得分:1)
你可以
ScrollView
并在其中添加视图。我的选择是#2 - 创建包含所有可能视图的行视图,然后决定隐藏什么,在这种情况下,您可以节省时间,因为您不必每次都夸大您的视图,甚至可以使用ViewHolder模式。
答案 1 :(得分:1)
如果要为音频,图片和短信显示不同的行,则需要有3行布局,然后您将决定需要从getView()
的{{1}}中返回哪一行。适用于getViewTypeCount()
and getItemViewType()
的适配器有两种方法可以帮助您回收行,以显示在CustomAdapter
中。
您将首先告诉ListView
中有多少布局使用ListView
告诉适配器将有多少行类型,然后检查该位置的数据类型您的数据模型并从getViewTypeCount()
返回视图类型,因此getItemViewType()
将收到相关的回收视图(如果有)。
Here is my blog post关于使用9个补丁图像,它展示了发送者和接收者类型的视图,同样可以根据数据模型中特定位置的项目应用于图像和音频。