ListView + WebView

Интерфейс, диалоги, темы, стили, меню
Ответить
Xeon
Сообщения: 1
Зарегистрирован: 20 июл 2015, 20:16

ListView + WebView

Сообщение Xeon » 20 июл 2015, 20:33

Подскажите пожалуйста, как правильно загружать WebView в ListView используя свою реализацию ArrayAdapter.
Проблема в том, что при скроллинге сбивается порядок отображение данных. :(
ArrayAdapter использует данные с List<Item>
Класс Item содержит порядковый номер и html код.
При первоначальной загрузке, видимые данные отображаются корректно, а вот после скроллинга вверх/вниз все сбивается и данные отображаются не по порядку и с дублированием. Если не загружать данные в WebView, то порядковые номера отображаются корректно даже при скроллинге.

Ниже приведен код реализации адаптера:

Код: Выделить всё

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

        Holder holder;
        View row = convertView;

        Item item = getItem(position);
        if (row == null) {
            row = layoutInflater.inflate(R.layout.item, null);
            holder = new Holder();
            holder.textView = (TextView) row.findViewById(R.id.textView);
            holder.webView = (WebView) row.findViewById(R.id.webView);
            row.setTag(holder);
        } else {
            holder = (Holder) row.getTag();
        }
        holder.textView.setText(item.getItemNumber());
        holder.webView.loadData(item.getItemMessage(), "text/html; charset=UTF-8", null);
        return row;
    }

    private class Holder {
        TextView textView;
        WebView webView;
    }
Заранее извиняюсь, за такое сумбурное объяснение проблемы - только недавно начал изучать android.

Ответить