Ответ 1
добавьте свойство focusable="false"
к вашему TextView
::
<TextView
...
...
android:focusable="false"
/>
и, вероятно, вам нужно будет сделать то же самое с другими элементами внутри вашего ListView.
У меня есть ListView с некоторыми элементами на нем. Каждая строка имеет TextView и кнопку. Это выглядит так:
| Некоторые тексты в строке (Button) |
Теперь, когда я нажимаю на этот текст, ничего не происходит. Просто никто не вызывает функцию. Но когда я нажимаю на кнопку, я могу обработать событие. Я использую onListItemClick()
Итак, что я должен использовать вместо этого TextView, чтобы иметь возможность обрабатывать событие (когда я нажимаю на текст)?
До этого у меня был только один TextView в каждой строке, и когда я нажимал на строку, все работало нормально (вызывается onListItemClick()).
Заранее благодарю вас!
добавьте свойство focusable="false"
к вашему TextView
::
<TextView
...
...
android:focusable="false"
/>
и, вероятно, вам нужно будет сделать то же самое с другими элементами внутри вашего ListView.
Проблема заключается в том, что ListView и кнопка сражаются за фокус. Как правило, только один из двух может получать фокус (и, следовательно, кликнуть). В вашем случае кнопка является фокусируемой.
Чтобы настроить это, вы можете играть с descendantFocusability свойство ListView.
Что вы пытаетесь выполнить, нажав кнопку в элементе ListView? Вы хотите, чтобы что-то другое произошло, когда вы нажимаете кнопку, vs, когда вы нажимаете элемент списка за пределами кнопки?