Скажем, у меня есть настраиваемая ViewGroup, которая является настраиваемой и имеет некоторые дочерние представления, которые также могут быть сфокусированы (пользовательское вертикальное меню для Android-приставки, которое должно реагировать на пульте дистанционного управления).
Мне нужно передать фокус некоторым дочерним представлениям, когда пользовательская группа ViewGroup получает фокус.
Я установил descendantFocusability в beforeDescendants и установил OnFocusChangeListener в пользовательскую ViewGroup, но OnFocusChangeListener.onFocusChanged() никогда не вызывается. Похоже, что beforeDescendants работает не так, как я ожидал. Фактически установка beforeDescendants работает так же, как установка afterDescendants. Фокус берется с помощью ближайшего дочернего вида, а пользовательская ViewGroup не имеет возможности решить, какой дочерний вид должен делать фокус.
Как я могу достичь желаемого поведения? Каковы наилучшие методы обработки фокусов в ViewGroup s?