儿童视图焦点改变机器人

xme*_*men 8 android android-layout

我有一个ViewGroup可以有很多LinearLayouts.每个都LinearLayout可以有许多嵌套的子视图.我想要的是,如果内部的任何视图(甚至是深层嵌套)LinearLayout获得焦点,它应该调用其主要父级的自定义方法LinearLayout.

我要做的最后一件事是,设置OnFocusChangeListener每个深层嵌套的子视图,LinearLayout并且该监听器将调用其父级的自定义方法.但这是非常糟糕的方式.

是否有任何方法可以覆盖父级LinearLayout,每次嵌套子视图的焦点更改时都会调用它?

Chr*_*use 8

您可以使用contentView.getViewTreeObserver().addOnGlobalFocusChangeListener()或覆盖ViewGroup.requestChildFocus()根ViewGroup(requestChildFocus()沿着视图父链传递).