如何创建Arraylist
adapter
,根据view
中的flag
更改LISTVIEW
,标记可以为IMAGE
,IMAGETEXT
,VIDEO
,VIDEOTEXT
,TEXT
例如在facebook帖子中,1。如果朋友发布文字,list row
只会包含带有他姓名的文字
2.如果朋友发布Image
,则列表行将仅包含带有其姓名的图像
3.如果朋友提出Video
,则列表行将只包含带有其姓名的视频,并且只包含视频onClick()
,
在外部播放器中播放该视频
text.xml
video.xml
image.xml
对此有任何帮助。
提前致谢...
答案 0 :(得分:1)
覆盖适配器中的getItemViewType(int position)和getViewTypeCount()方法 从getView()根据它来查看视图。在你的情况下编写像
这样的方法 @Override
public int getItemViewType(int position) {
if(list.get(position).flag == text)
return 0;
else if(list.get(position).flag == image)
return 1;
else
return 2;
}
@Override
public int getViewTypeCount() {
return 3;
}
答案 1 :(得分:1)
我不是很确定,但我的理念是首先创建一个行的布局,可以容纳你想要显示的所有东西(图像,视频,文本等)。并且如果一个东西不存在则使这个布局成为一种方式然后它自动包裹(意味着如果视频不存在那么视频空间将不存在)。
现在创建每个列表行的json并将其传递给List of Adapter。然后覆盖
的getView()方法
适配器并解析json并根据您的布局显示。
答案 2 :(得分:1)
我为此链接中使用的Custom Adapter
实施了类似的ListView
,也使用了ViewHolders
检查此链接
http://www.androidhive.info/2014/06/android-facebook-like-custom-listview-feed-using-volley/