我有ListView。
我有3组观点:
我有一个网络服务器,可以返回图像,视频和文本。因此,根据服务器的响应,我想在列表视图中为行添加视图。
我知道使用自定义适配器来扩充自定义布局。
我想知道如何使用自定义适配器来扩充视图类型?。
例如:
如果网络服务器返回图片,请膨胀图像视图。
答案 0 :(得分:1)
将每个网络服务响应与ID 0相关联,用于图像,1用于文本,2用于视频。存储ID在ArrayList中。然后覆盖getItemViewType()和getViewTypeCount()。在getView()中扩展适当的视图。
@Override
public int getItemViewType(int position)
{
int type;
if (ID.get(position)== 0){
type = TYPE_ITEM1; //type 0 for image
} else if (ID.get(position) == 1){
type = TYPE_ITEM2; //type 1 for text
}else {
type = TYPE_ITEM3; //type 2 for videos
}
return type;
}
@Override
public int getViewTypeCount() {
return 3; //three different layouts to be inflated
}