ListAdapter Item ViewType - PullRequest
       36

ListAdapter Item ViewType

0 голосов
/ 04 мая 2011

Я только что нашел возможность определить тип записи в списке с помощью getItemViewType () adpater.Можете ли вы дать мне описание того, как правильно это использовать?

В настоящее время я использую целое число пользовательского типа в классах представлений, которые я использую для создания представлений в 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 ]

1 голос
/ 04 мая 2011

Я думаю, что ваш код в порядке, посмотрите это видео для получения дополнительной информации.

0 голосов
/ 04 мая 2011

Я полагаю, что это значение используется внутренним интерфейсом пользователя при переработке представлений, чтобы уменьшить количество повторных инфляций представления.

Возможно, вы захотите посмотреть на AgendaByDayAdapter.java пример его использования

...