При использовании «Эффективного адаптера» держатель иногда становится нулевым - PullRequest
0 голосов
/ 23 августа 2010

Я использую комбинацию " Efficient Adapter " и EndlessAdapter от CommonsGuy, и иногда держатель getView () имеет значение null.

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    ViewHolder holder;

    if (convertView == null) {
        convertView = inflater.inflate(R.layout.queue_item, null);

        holder = new ViewHolder();
        holder.text = (TextView) convertView.findViewById(R.id.queueItemText);
        holder.image = (ImageView) convertView.findViewById(R.id.queueItemImage);
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }

    if (holder != null) {
        holder.text.setText(queueItems.get(position).getTitle().getName());
    } else {
        Log.e(context.getString(R.string.app_name), "holder is null for some reason ...");
    }

    return convertView;
}

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

После загрузки всего набора данных прокрутка вверх и вниз приводит к исчезновению и повторному появлению строк.

1 Ответ

0 голосов
/ 23 августа 2010

Убедитесь, что вы используете последнюю версию EndlessAdapter, как я помню, несколько недель назад.

Если это не поможет, и если вы можете дать мне полный проект (не толькопара классов), которая копирует проблему, я могу попытаться это исправить.Пожалуйста, свяжитесь со мной через cw-android Группу Google , которая является основным домом для поддержки EndlessAdapter и других моих компонентов.

...