#android #listview #textview #android-arrayadapter
#Android #listview #textview #android-arrayadapter
Вопрос:
Я пытаюсь создать динамические текстовые представления, извлеченные из списка массивов внутри пользовательского адаптера массива. Данные списка массива возвращаются из ответа JSON. Поскольку я заранее не знаю, сколько элементов будет содержать мой массив, я не могу создавать текстовые представления в XML, поэтому их необходимо создавать программно.
Текстовые представления добавляются в вертикальный линейный макет следующим образом:
ArrayList<String> authors = currentBook.getAuthor();
LinearLayout authorsList = convertView.findViewById(R.id.authors_list);
for (int i =0; i < authors.size(); i ) {
TextView textView = new TextView(getContext());
textView.setText(authors.get(i));
authorsList.addView(textView);
}
При запуске некоторые текстовые представления создаются дважды, и данные продолжают меняться при прокрутке списка.
Я думаю, что есть проблема с внутренней работой представлений списка, которую я не понимаю, но не могу указать пальцем. Будем признательны за любую помощь.
Комментарии:
1. Почему бы не использовать ListView / recyclelerview с переработанным пользовательским элементом списка, который содержит TexitView?
2. Попробуйте добавить:
authorsList.removeAllViews();
перед циклом for. Надеюсь, это поможет!3. @M.Zain Я новичок в Android и только сейчас узнаю о Recyclelerview. Мне удалось решить проблему. Большое спасибо за комментарий.
4. @I_A_Mok Это сработало так хорошо, большое вам спасибо
5. @ M. Elauzei… Я рад этому… счастливого пути обучения