Android中的复合列表项

时间:2015-04-02 06:31:48

标签: android listview

在我的聊天应用中,我有复合类型的消息。它可以只是文本,可以是文本,图像和视频的混合。使用android布局在ListView中显示此类复合项目的最佳方法是什么。 目前,我以编程方式绘制这些消息。但是,当涉及到不同的屏幕调整时,这会引起很多问题。 理想情况下,我希望每个(文本,图像,视频)都有xml布局,然后根据类型将它们添加到适配器中。

消息样本:

text
image
image

image
video 
image
text

text
image
text
image

1 个答案:

答案 0 :(得分:1)

你是对的。您必须为内容创建不同的布局。在适配器中,您必须根据要绘制的视图来扩充这些布局。

EG。 Adapter.java

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View view = convertView;
    if (convertView == null) {
        if(position % 2== 0) { // your condition
            view = inflater.inflate(R.layout.list_row_text_msg, null);
        } else {
            view = inflater.inflate(R.layout.list_row_image_msg, null);
        }
    }

    ...
}

你准备好了。