当子视图获得焦点时,我希望View和它的父ViewGroup都收到onFocusChange(...)
事件。
<LinearLayout
...
android:focusable="true"
android:descendantFocusability="beforeDescendants">
<TextView
...
android:focusable="true"/>
<TextView
...
android:focusable="true"/>
</LinearLayout>
然而,让儿童专注于焦点会阻止父母获得焦点。父母的属性似乎被忽略了。
是否有关于可聚焦视图的复合行为的文档?
除了视图之外,我如何才能获得父级的焦点事件?
答案 0 :(得分:0)
不确定这是否是您所寻找的,但我不认为您可以有多重点。重点的定义是关注一件事。请阅读此处。
答案 1 :(得分:0)
由于Android一次只是一个屏幕,因此我们对桌面应用程序所知道的聚焦概念略有不同。您没有关注一个窗口并从另一个窗口获取焦点(还有其他生命周期事件)如果父级会收到其子级的焦点事件,那么所有层级父级也应该接收它,如您所理解的那样无用。聚焦正在一次一个视图上进行。
要实现您的目标,您可以在OnFocusChangeListener中将事件转发给视图的父级,但是存在可能导致意外行为的风险