我刚刚发现了使用adpater的getItemViewType()来确定列表条目类型的可能性。你能否告诉我如何正确使用它?
目前,我在视图类中使用自定义类型整数,用于在列表适配器的getView()中创建视图。使用适配器的内置功能是否是更好的解决方案?
我目前的代码:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
IFilterable data = filteredData.get(position);
if(convertView == null || convertView.getId() != data.getType()) {
switch(data.getType()) {
case IReport.SPECIAL_ACTION:
convertView = new SpecialActionView(context);
((SpecialActionView) convertView).set(((SpecialAction) data));
break;
case IReport.TRANSFER_DECLARATION:
convertView = new TransferDeclarationView(context);
((TransferDeclarationView) convertView).set(((TransferDeclaration) data));
break;
}
}
return convertView;
}
答案 0 :(得分:1)
我认为您的代码没问题,请查看this video了解更多信息。
答案 1 :(得分:0)
我相信在回收视图时,UI会在内部使用此值,以减少View重新通胀的数量。
您可能需要查看AgendaByDayAdapter.java以了解其用法示例