ListAdapter项ViewType

时间:2011-05-04 12:39:28

标签: android android-listview listadapter

我刚刚发现了使用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;
}

2 个答案:

答案 0 :(得分:1)

我认为您的代码没问题,请查看this video了解更多信息。

答案 1 :(得分:0)

我相信在回收视图时,UI会在内部使用此值,以减少View重新通胀的数量。

您可能需要查看AgendaByDayAdapter.java以了解其用法示例