TextView и Button в каждой строке и onListItemClick () - PullRequest
11 голосов
/ 31 августа 2010

У меня есть ListView с некоторыми элементами на нем. Каждая строка имеет TextView и кнопку. Это выглядит так:

| Несколько строк подряд (кнопка) |

Теперь, когда я нажимаю на этот текст, ничего не происходит. Просто ни одна функция не вызывается. Но когда я нажимаю на кнопку, я могу обработать событие. Я использую onListItemClick ()

Итак, что я должен использовать вместо этого TextView, чтобы иметь возможность обрабатывать событие (когда я нажимаю на текст)?

До этого у меня был только один TextView в каждой строке, и когда я щелкал по строке, все работало нормально (вызывался onListItemClick ()).

Заранее спасибо!

Ответы [ 2 ]

9 голосов
/ 31 августа 2010

добавить свойство focusable="false" к вашему TextView ::

<TextView
...
...
        android:focusable="false"
        />

и, вероятно, вам нужно будет сделать то же самое с другими элементами в вашем ListView.


Программно мы можем использовать метод setFocusable () :

v.findViewById(R.id.my_button).setFocusable(false); 

setFocusable () : установка этого значения в ложь также гарантирует, что это вид не фокусируется в сенсорном режиме.

6 голосов
/ 31 августа 2010

Проблема в том, что ListView и кнопка борются за фокус.Как правило, только один из двух может получить фокус (и, следовательно, щелкнуть).По вашему мнению, кнопка является фокусируемой.

Чтобы настроить это, вы можете поиграть со свойством lowerndantFocusability ListView.

Что вы пытаетесь достичь, имея кнопку в элементе ListView?Вы хотите, чтобы при нажатии на кнопку происходило что-то другое, по сравнению с щелчком по элементу списка вне кнопки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...