-1

我想创建一个自定义列表视图,如下图所示。我正在创建一个聊天应用程序,在该应用程序中必须传递文本、图像和视频等。见下图。

在此处输入图像描述

其中,当用户在聊天中发送/接收图像时,如果他想通过单击该图像旁边的按钮来查看该图像,如何使用该图像路径(或)URL 移动到另一个活动,以显示完整图像,以及何时图像上的用户 clickngi 必须显示快速视图。同样,如果那是视频,我必须获取该路径(或)网址才能正确播放视频。如何区分列表项取决于项目类型。

4

2 回答 2

1

你可以

  • 实现ScrollView并向其中添加视图。
  • 创建包含所有可能视图的适配器,然后决定隐藏或显示哪个视图
  • 您可以创建适配器并动态地将视图添加到每一行(在这种情况下它太慢了)。

我的选择是 #2 - 创建包含所有可能视图的行视图,然后决定隐藏什么,在这种情况下,您可以节省时间,因为您不必每次都放大视图,甚至可以使用 ViewHolder 模式。

于 2013-02-12T11:31:48.850 回答
1

如果要为音频、图像和文本消息显示不同的行,则需要有 3 行布局,然后您将决定需要从您getView()CustomAdapter. 有两种方法getViewTypeCount()getItemViewType()适配器可以帮助您回收行以显示在ListView.

ListView您将首先告诉您将使用多少个布局,getViewTypeCount()这告诉适配器将有多少行类型,接下来检查数据模型中该位置存在的数据类型,然后返回视图类型getItemViewType(),因此getView()将接收相关的循环视图(如果有的话)。

这是我关于使用 9 个补丁图像的博客文章,它演示了发送者和接收者类型的视图,同样可以根据数据模型中特定位置的项目应用于图像和音频。

于 2013-02-12T11:38:58.370 回答