У меня есть HorizontalScrollView
, содержащий LinearLayout
, который, в свою очередь, содержит пару FrameLayout
. Каждый FrameLayout
содержит макет Fragment
. Теперь я пытаюсь получить вид, то есть FrameLayout
, который в данный момент виден или находится в фокусе в пределах HorizontalScrollView
. Как только у меня будет вид в фокусе, я смогу получить его индекс в LinearLayout
.
Я пробовал следующее, но ничего не работает:
- HorizontalScrollView.findFocus() — возвращает null
- LinearLayout.findFocus() — возвращает ноль
- LinearLayout.getFocusedChild() — возвращает null
- FrameLayout.hasFocus() — возвращает false для всех
FrameLayout
Я также мог бы попытаться выяснить, какой дочерний элемент LinearLayout
имеет фокус, выполнив вычисления на основе текущей X-позиции каждого дочернего элемента. Однако вызов getX()
для каждого потомка всегда возвращает "0.0".
У кого-нибудь есть идея, как получить вид в фокусе (или, что еще лучше, его индекс в LinearLayout
)?