Добавление нескольких представлений в список listView
-
27-09-2019 - |
Вопрос
Я пытался добавить эти представления, чтобы переписать вид, используя Этот вид фабрики Но каждый раз, когда я пытаюсь добавить вид на светексивность, она ничего не подходит. Что я делаю не так? Я устанавливаю свой список видов, как так:
List<View> views = new ArrayList<View>();
for(int x =0;x<tagg_views.size();x++){
lv.addHeaderView(views.get(x));
}
Решение
Похоже, вы пытаетесь добавить x количество заголовков в ваш список. Это не имеет смысла.
ListView должен содержать X Количество копий одного и того же представления, с другой информацией на каждой строке.
Hello ListView. дает хороший пример правильного использования ListView.
Другие советы
Почему вы добавляете вид на список сами? Я бы очень рекомендовал использовать любой вид препарата Адаптер для списка. Адаптер будет обрабатывать создание и переработку представлений, когда пользователь прокручивает и т. Д. Если вы используете адаптер, он обескуражен, чтобы сохранить ссылки на просмотр, как вы делаете это в списке представлений.
То AddeDeview. Способ, который вы используете, изготавливается в одном верхнем заголовке в список, который всегда появится в верхней части списка. Это означает, что вызывает его в цикле не будет иметь разумного результата.
Посмотрите HellolistView. Пример Maimra упоминается, что работает, как работает список в Android. Чтобы увидеть, как работает пользовательский листы, посмотрите на это руководство выглядит многообещающе, несмотря на плохое форматирование кода.
ListView связан и адаптер. Адаптер отвечает за данные, отображаемые в ListView. Укажите, что внутренне ListView создает пул ITMES (или пул для каждого типа элемента, который может отображаться в вашем случае).
Для этого ваш адаптер должен реализовать следующие методы:
- int getitemviewtype (int position): получите тип представления, который будет создан GetView (INT, View, ViewGroup) для указанного элемента. Таким образом, вам нужно определить вас типы.
- INT GetViewTypecount (): возвращает количество типов представлений, которые будут созданы GetView (INT, View, ViewGroup). Это используется для создания пула для каждого типа элемента.