У меня есть 4 кнопки в моем макете - они являются переключателями между 4-мя возможными содержимым View. Каждый раз, когда нажимается одна из этих кнопок, мне нужно выделить ее (просто загрузите другой фон, другое изображение и измените цвет текста). Проблема в том, что мне нужно, чтобы это было сделано с момента нажатия кнопки (не после клика) и до нажатия другой кнопки. Простое использование методов onClick() будет не очень хорошим, потому что мне нужно будет проверить, выделены ли другие кнопки, а также изменения будут сделаны только ПОСЛЕ щелчка. Любое хорошее решение для этого?Android: выделите кнопку до тех пор, пока не будет нажата другая кнопка
0
A
ответ
1
Как насчет прослушивания onFocusChange
?
button.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
// set the background, image and color for focused
} else {
// set the background, image and color back to normnal
}
}
});
Установите один из них для каждой кнопки, и вы должны быть установлены.
Смежные вопросы
- 1. Запустите анимацию до тех пор, пока не будет нажата кнопка
- 2. wait до тех пор, пока не будет нажата кнопка
- 3. Выполнение программы до тех пор, пока не будет нажата кнопка
- 4. Как отключить кнопку отправки до тех пор, пока не будет нажата другая кнопка?
- 5. Как сохранить одну кнопку изображения активным до тех пор, пока не будет нажата другая кнопка.
- 6. Как отключить кнопку, пока другая кнопка не будет нажата
- 7. Как отключить другую кнопку до тех пор, пока не будет нажата кнопка
- 8. Не нажимайте до тех пор, пока не будет отпущена кнопка
- 9. Скрыть кнопку до тех пор, пока на другой странице не будет нажата кнопка
- 10. Держите кнопку невидимой до тех пор, пока не будет нажата кнопка RadioButton. C#
- 11. Голанг до тех пор, пока не будет нажата клавиша
- 12. Итерация до тех пор, пока не будет нажата клавиша C
- 13. Приостановить программу до тех пор, пока не будет нажата клавиша
- 14. Содержимое таблицы не будет отображаться до тех пор, пока не будет нажата кнопка экрана.
- 15. Приостановить приложение Android до тех пор, пока не будет нажата кнопка
- 16. Hammer.js swipe не работает до тех пор, пока не будет нажата кнопка
- 17. Изменения кода не вступают в силу до тех пор, пока не будет нажата кнопка refresh/reload.
- 18. Вложенные обещания не разрешаются до тех пор, пока не будет нажата кнопка
- 19. Отключение одной ячейки до тех пор, пока в TableViewCell не будет выбрана другая кнопка
- 20. Вибрация до тех пор, пока кнопка не будет нажата и не перестанет вибрировать, когда кнопка не нажата (или снят палец)
- 21. Сделать вход в facebook не запуститься до тех пор, пока не будет нажата кнопка
- 22. Пытается сделать: активным, чтобы оставаться на связи до тех пор, пока не будет нажата другая ссылка.
- 23. jquery tablesorter выделяет выбранную строку до тех пор, пока не будет нажата другая строка.
- 24. Скрыть просмотр списка до тех пор, пока не будет нажата кнопка
- 25. Запустите код до тех пор, пока не будет нажата кнопка «Стоп»
- 26. Пребывание в методе до тех пор, пока кнопка не будет нажата так много раз
- 27. Продолжайте движение вперед до тех пор, пока не будет нажата длинная кнопка
- 28. Отправляйте ajax до тех пор, пока нажата кнопка - если не нажата кнопка - don't ajax
- 29. Пользовательская команда WPF в контекстном меню отключена до тех пор, пока не будет нажата любая кнопка
- 30. Страница не отображается до тех пор, пока не будет нажата кнопка «Бумажные лапки»
Любые удачи на этом? – Barak
К сожалению, это не сработает. После отпускания кнопки кнопка изменит цвет. Я также пробовал разные комбинации android: state_pressed и android: state_focused - не помогает. –
UPD: решение было установить button.setFocusableInTouchMode (true); –