2013-12-07 3 views
0

У меня есть ListView с пользовательским адаптером, который имеет только TextView, и я хочу установить для него прослушиватель кликов.Что: ListView.setOnItemClickListener или TextView.setOnClickListener?

Какой я должен выбрать: ListView.setOnItemClickListener вне пользовательского адаптера, или TextView.setOnClickListener внутри пользовательского адаптера getView()? И почему?

Спасибо!

L.

ответ

5

Вы определенно должны использовать ListView.setOnItemClickListener

  1. Потому что при нажатии элемента списка дает обратную связь, что Вы нажали его (как фон свечения или что-то)
  2. Вы управляете вашими данными из-за пределов вашего списка, и, следовательно, у вас есть лучшее видение объектов, которыми вы управляете.
  3. Больше ориентированных объектов
  4. В моем op inion это проще
  5. Если у вас есть только один вид в строке списка, то зачем беспокоиться о настройке прослушивателя кликов в TextView вместо строки?
+0

Отлично! Следовательно, неявно, я понимаю, что я должен использовать только TextView.setOnClickListener, если у меня есть несколько представлений подряд. Верный? –

+0

Исправить. Поэтому вы устанавливаете прослушиватель для каждого просмотра, которое хотите прослушать. – Sipka

+0

Понял. Еще раз спасибо! –

1

добавление onClickListener взглядам в GetView() метод использования, когда у вас есть 2 или более мнения, которые должны иметь свои собственные onClickListener, поэтому для вашего лучше onItemClickListener

+0

Получил это. Благодаря! –

+0

без проблем, добро пожаловать – Eddy

Смежные вопросы