我正在尝试创建一个聊天客户端,我的用户可以在其中发送文本,图像,视频,音乐文件等。
我知道如何为列表添加动态行,但它只是将String添加到ArrayList并通过ArrayAdapter反映在列表中。对我来说这是不可预测的,用户可以添加字符串,视频,图像或音乐文件。我怎么能添加它们?
答案 0 :(得分:3)
关键是能够找出getView()方法中的内容类型并相应地膨胀不同的视图。
答案 1 :(得分:0)
首先创建一个活动,以便获得Java和XML文件。对于这个XML文件,只需拖放listview即可。我们不会在这里做出任何动态。
然后,您需要为单行设计XML文件。为了您的目的,您可以创建一个新的XML布局并拖放textview,imageview,videoview等。最好将其设置为线性布局。
创建另一个java类。这是为了向列表中添加自定义项。根据元素是否包含某些值来添加元素。
在活动的java文件中,您将设置适配器链接设计的行与listview和我们的java文件的自定义列表。
访问以下链接。它会为您提供所有必要的代码。我希望它会对你有所帮助。
http://www.androidhub4you.com/2013/09/dynamic-list-view-demo-in-android.html
这对我来说真的很棒。现在你也可能发现像videoview或imageview占用空间这样的问题,即使你没有任何东西可以加入它。我建议删除每行不需要的视图。您可以在自定义java文件中添加删除视图代码。使用以下代码删除视图。
((ViewGroup)image_view_name.getParent())。removeView(image_view_name);
这里image_view_name
是ImageView,VideoView或其他任何你想要的对象。