2013-02-12 47 views
-1

我想创建一个自定义列表视图像这样下面的图像。我正在创建一个聊天应用程序,该应用程序必须通过文本,图像和视频等,请参阅下面的图像。如何创建像这样的自定义ListView?

enter image description here

在这方面,当用户发送/接收的图像中聊天,如果他希望看到通过点击该图像旁边的按钮,如何移动到与该图像路径另一项活动(或)网址,用于显示完整图像,以及用户在图像上点击图像时必须显示快速浏览。同样的方式,如果这是视频,我必须得到该路径(或)网址才能正确播放视频。 如何区分列表项目取决于项目类型。

回答

1

如果要为音频,图像和文本信息显示不同的行,则需要有3行布局,然后您将决定从CustomAdaptergetView()中返回哪行。有两种方法getViewTypeCount() and getItemViewType()适配器,这将有助于您的回收行显示在ListView

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

Here is my blog post关于使用9个补丁图像,它展示了视图的发送者和接收者类型,根据数据模型中特定位置的项目,可以应用图像和音频。

+0

是否需要在getView()方法中填充所有行(xml)。 – 2013-02-12 11:56:24

+0

是的。您需要根据数据模型中的消息类型从'getView()'中夸大它们。 – 2013-02-12 11:57:43

1

可以

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

我的choise是#2 - 创建排视图与所有可能的意见,然后决定什么可隐瞒的,在这种情况下,你可以节省时间,因为你不会有夸大你每一次的意见和你甚至可以用ViewHolder模式。

相关问题