#android #events #click #parent
#Android #Мероприятия #нажмите #родительский
Вопрос:
Я некоторое время работал над разработкой Android, но меня все еще смущает этот вопрос..
Согласно документации Android, событие начнется из корневого представления и будет отправлено в дочернее представление. Это означает, что viewgroup должна получить событие касания перед view (которое является его дочерним), но из того, что я отладил, это не так…
Я создаю RadioGroup, затем добавляю в нее три кнопки radiobutton, каждый раз, когда я нажимаю radiobutton, запускается событие click. Событие щелчка Radiogroup даже не запускается…
Как мы можем это объяснить?
Есть идеи? Спасибо.
Ответ №1:
Когда дочерний элемент обрабатывает onClick, родительский элемент не получает событие. Если вы хотите, чтобы родительское событие получало событие, не устанавливайте OnClickListener для дочернего.
События onTouch обрабатываются немного по-другому.
Комментарии:
1. Как обрабатываются события onTouch? Например, если у вас есть несколько представлений друг над другом, и в нижнем представлении вы обрабатываете onTouch, но в верхнем представлении вы его не обрабатываете, и вы хотите запретить onTouch в нижнем представлении, если нажатие находится в верхнем представлении — есть ли способ сделать это без реализации onTouch?