2012-09-09 13 views
-5

我有ListView。具有不同行布局的自定义ListView将根据web服务响应进行充气

我有3套的观点:

  1. ImageView的
  2. VideoView
  3. 的TextView。

我有一个网络服务器,它返回图像,视频和文本。所以基于服务器的响应,我想在列表视图中扩充行的视图。

我知道使用自定义适配器膨胀自定义布局。

我想知道如何使用自定义适配器膨胀视图类型?

例如:

如果web服务器返回图像,膨胀ImageView的。

+1

请修复格式。 – Paul

+1

http://stackoverflow.com/questions/7068423/dynamically-change-the-row-layout-of-a-listview/12275096#12275096。在这里,我们可以找到2种不同的布局图像和TextView。 – Raghunandan

+1

我编辑了这个问题,但很久以前我就问过这个问题。我没有代码。所以我尽了最大的努力来改善帖子并防止downvotes。 – Raghunandan

回答

1

将每个webservice响应与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 
} 
相关问题