более простой способ создать listview в Android?

#android #listview

#Android #listview

Вопрос:

я должен создать listview, в котором есть два элемента, которые будут отображаться вертикально. я знаю, что для использования адаптера по умолчанию, поставляемого с Android, может быть только один массив и один текстовый ресурс…т.е. если я использую android.R.layout.simple_list_view, то существует только один текстовый ресурс. Чтобы создать пользовательский Listview, я делаю следующее:

  1. создание файла XML-макета для каждого элемента listview
  2. расширение пользовательского класса адаптера, который расширяет baseadapter
  3. в методе getview класса пользовательского адаптера я увеличиваю представление для каждого элемента, а затем возвращаюсь с информацией, которую я хочу, чтобы элемент listview имел из массива, который я передал в качестве конструктора классу пользовательского адаптера.

это кажется очень утомительным, потому что есть несколько случаев, когда мне приходится создавать listview, где иногда в каждом элементе listview есть три текстовых элемента, а иногда по 2 текстовых элемента в каждом элементе listview.

есть ли более простой способ сделать вышеописанное.

заранее благодарю вас.

Ответ №1:

При таком простом макете я бы посоветовал вам просто использовать a LinearLayout и 2-3 TextView s (или любой другой вид, который вам нужен, даже горизонтальный LinearLayout ). Ничто не сравнится с такой простотой. В ListView этом случае нет необходимости.

Комментарии:

1. я думаю, я не прояснил это в вопросе. существует целый список, который я должен отобразить, и каждый элемент (ListView) может иметь 2/3 textviews.

2. ОК. Извините за недоразумение 🙂 Тогда кажется, что вы выполняете в значительной степени стандартную процедуру. Если вы неоднократно используете похожие адаптеры в разных списках, я бы посоветовал вам создать свою собственную библиотеку и импортировать ее каждый раз, когда вам это нужно. К сожалению, больше сказать нечего.

Ответ №2:

Вы могли бы рассмотреть возможность создания универсального, повторно используемого файла макета ListView, в который загружаются все необходимые вам элементы (которых, надеюсь, немного). Вы могли бы использовать по умолчанию столько элементов в XML-файле layout с android:visible=»false», а затем программно переключать видимость.

Почему вы не можете просто повторно использовать адаптер? С ним связано множество методов загрузки / выгрузки.

Да, о чем говорит Aleadam; если у вас есть только пара вещей, зачем использовать ListView? TextView, казалось бы, гораздо более быстрый способ отображения прототипа данных!