Intereting Posts
Импорт проекта библиотеки несколько раз в Android Studio 1.3.1 заставляет библиотеку исчезать Как отменить HTTP-запрос на Android? Попытка написать базу данных только для чтения … но я не Android, Как правильно использовать метод readTypedList в классе Parcelable? Могу ли я получить некоторую эффективность, объявив соответствующих участников «статическими» в действии Android Почему Fragment не сохраняет состояние при вращении экрана? Как использовать отправленные сервером события (SSE) в android? Android WebView, масштабирование изображения в соответствии с экраном Создание Eclipse ведет себя как Visual Studio Проект Javadoc для Android в Eclipse не выполняется с помощью NullPointerException Android CoordinatorLayout + AppbarLayout + Viewpager всегда прокрутка Как разместить элементы ActionBar в главной панели ActionBar и нижней панели VPN-соединение с эмулятором Android не выполняется Android: Как сделать приятную анимацию сердечного ритма? Как создать навигационный ящик без поддержки библиотеки

Android Row становится Unclickable с кнопкой

У меня есть listView, где каждая строка имеет кнопку в макете строк. Однако, похоже, это делает строку самой непривлекательной. Как я могу сделать кнопку и строку нажатой?

Благодарю.

Solutions Collecting From Web of "Android Row становится Unclickable с кнопкой"

Вам нужно установить 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() метода onListItemClick() в вашем OnItemClickListener .

Постарайтесь, чтобы ваши виджеты не подвергались клики и не подвергались фокусировке в xml, щелчок по элементам будет работать нормально, а кнопка щелчка будет работать нормально.

 android:clickable="false" android:focusable="false" 

Надеюсь это поможет.

К сожалению, я не думаю, что это возможно. Строка ListView может иметь либо настраиваемые виджеты, либо кнопку, либо кликать, а не обе. См. Ссылку.