Мне нужно реализовать ListAdapter для нескольких типов строк. Поэтому выберите макет в строке на основе содержимого этой строки. Я хотел бы услышать некоторые мнения о достоинствах различных типов ListAdapters для этого. Я не ожидаю иметь тысячи строк или даже сто, но я могу потенциально иметь довольно много разных макетов и нуждаться в гибкой легко понятной реализации.
Итак, я рассматриваю
BaseAdapter
ArrayAdapter
CursorAdapter
SimpleCursorAdapter
Каковы некоторые из преимуществ/недостатков этих адаптеров. Будет ли адаптер на основе курсора лучше?
Я хочу, чтобы это было гибким, легко меняющимся и надежным.
Адаптеры должны адаптировать источник данных к представлению, поэтому он действительно подходит к вашему источнику данных.
Если это источник данных базы данных и у вас есть в основном прямые сопоставления столбцов с текстом и изображениями, начните с SimpleCursorAdapter
.
Если это источник данных базы данных, но множество пользовательских сопоставлений или если вы все равно переопределяете многие функции SimpleCursorAdapter, посмотрите CursorAdapter
.
Если источником данных является то, что можно рассматривать как массив, посмотрите ArrayAdapter
.
Если его пользовательский источник данных или имеется много настраиваемой логики для привязки данных к представлениям, которые не соответствуют другим адаптерам, выведите собственный адаптер из BaseAdapter
.