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