我尝试使用自定义单元格布局和ArrayAdapter在listview中添加动态数量的单元格,并且完成得很好。但是当我希望每个细胞可能跟随数据类型不同时,我会面临一个问题。
示例我在列表视图中有3个类别:
如果数据是视频,那么我使用单元格编号1,否则如果数据是照片我使用photo_custom_cell,否则我使用audio_custom_cell。
我所尝试的只能重复使用自定义单元格作为动态行数,但我仍然没有找到如何使用自定义单元格跟随单元格内的数据类型。
任何人都可以帮我解释一下我的问题的例子吗?
谢谢。
答案 0 :(得分:0)
您可以为此使用自定义适配器,例如在getView
功能中使用
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View rowView;
if (convertView == null) {
if(items.get(position).type.equals("video")) {
rowView = getActivity().getLayoutInflater().inflate(
R.layout.video_custom_cell, null);
}else if(items.get(position).type.equals("photo")) {
rowView = getActivity().getLayoutInflater().inflate(
R.layout.photo_custom_cell, null);
}
} else {
rowView = convertView;
}
}