Лучший ListViewAdapter для нескольких типов строк?

1

Мне нужно реализовать ListAdapter для нескольких типов строк. Поэтому выберите макет в строке на основе содержимого этой строки. Я хотел бы услышать некоторые мнения о достоинствах различных типов ListAdapters для этого. Я не ожидаю иметь тысячи строк или даже сто, но я могу потенциально иметь довольно много разных макетов и нуждаться в гибкой легко понятной реализации.

Итак, я рассматриваю

BaseAdapter

ArrayAdapter

CursorAdapter

SimpleCursorAdapter

Каковы некоторые из преимуществ/недостатков этих адаптеров. Будет ли адаптер на основе курсора лучше?

Я хочу, чтобы это было гибким, легко меняющимся и надежным.

Теги:
listadapter

1 ответ

3

Адаптеры должны адаптировать источник данных к представлению, поэтому он действительно подходит к вашему источнику данных.

  • Если это источник данных базы данных и у вас есть в основном прямые сопоставления столбцов с текстом и изображениями, начните с SimpleCursorAdapter.

  • Если это источник данных базы данных, но множество пользовательских сопоставлений или если вы все равно переопределяете многие функции SimpleCursorAdapter, посмотрите CursorAdapter.

  • Если источником данных является то, что можно рассматривать как массив, посмотрите ArrayAdapter.

  • Если его пользовательский источник данных или имеется много настраиваемой логики для привязки данных к представлениям, которые не соответствуют другим адаптерам, выведите собственный адаптер из BaseAdapter.

  • 0
    Хорошо, что у меня будет в основном значения свойств, так что это не слишком сложно. Что если источником данных является SharedPreferences, и он имеет дело главным образом со значениями свойств хеша?
  • 0
    @Androider - Полагаю, я бы получил данные от BaseAdapter. Я не уверен, что вы подразумеваете под «значениями хеш-свойств», но если вы реализуете некоторые настройки приложения, рассматривали ли вы PreferenceActivty и связанные классы? developer.android.com/reference/android/preference/...
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню