Android Row становится Unclickable с кнопкой
У меня есть listView, где каждая строка имеет кнопку в макете строк. Однако, похоже, это делает строку самой непривлекательной. Как я могу сделать кнопку и строку нажатой?
Благодарю.
- Как один интерфейс может использоваться для различных фоновых задач андроида?
- Преобразование Json Array в обычный Java-массив
- FirebaseApp с именем не существует
- Добавить ярлык для приложения для Android. На главный экран.
- Как установить фоновые рисунки программно в Android
- Как начать работу в адаптере?
- Лучший способ сравнить даты в Android
- Неправильный Manifest.mf в IntelliJ IDEA создан .jar
- Исходный код исходного кода Java
- Click не работает с Listitem Listview android
- Метод сравнения нарушает его общий контракт в Java 7
- Пользовательский ListView для Android не может нажимать на элементы
- HTTPS GET (SSL) с Android и самозаверяющим сертификатом сервера
Вам нужно установить itemsCanFocus в списке следующим образом:
mList.setItemsCanFocus(true);
Чтобы сделать кнопку нажатой. Затем вам нужно будет использовать свой собственный адаптер, а в getView вернуть представление, которое является Clickable и настраиваемым. Вы также потеряете состояния подсветки по умолчанию, поэтому вам нужно вернуть их обратно в фоновый ресурс. Так сделайте так:
view.setClickable(true); view.setFocusable(true); view.setBackgroundResource(android.R.drawable.menuitem_background);
на ваш взгляд, прежде чем возвращать свое мнение.
Всякий раз, когда я вижу сообщения об android:focusable
и android:clickable
, я всегда вижу, что они одновременно устанавливаются одинаковыми значениями одновременно. Я решил, что должна быть причина, если они являются двумя отдельными атрибутами, а не одной.
Оказывается, что гораздо лучший способ добиться желаемого поведения – установить
android:focusable="false"
или
yourButton.setFocusable(false)
на Button
в вашем View
. Как только вы это сделаете, вы сможете установить OnClickListener
на Button
, и щелчок по строке вызовет метод onListItemClick()
в вашем OnItemClickListener
.
Постарайтесь, чтобы ваши виджеты не подвергались клики и не подвергались фокусировке в xml, щелчок по элементам будет работать нормально, а кнопка щелчка будет работать нормально.
android:clickable="false" android:focusable="false"
Надеюсь это поможет.
К сожалению, я не думаю, что это возможно. Строка ListView может иметь либо настраиваемые виджеты, либо кнопку, либо кликать, а не обе. См. Ссылку.