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