android - subview 焦点更改android

标签 android android-layout

我有一个 ViewGroup,它可以有很多 LinearLayout。并且每个 LinearLayout 可以有许多嵌套的 subview 。我想要的是,如果 LinearLayout 中的任何 View (甚至嵌套很深)获得焦点,它应该调用其主要父级 LinearLayout 的自定义方法。

我想做的最后一件事是,在 LinearLayout 的每个深层嵌套 subview 上设置 OnFocusChangeListener,该监听器将调用其父级的自定义方法。但这真的很糟糕。

是否有任何方法可以覆盖父级 LinearLayout 每次其任何嵌套 subview 的焦点发生变化时都会被调用?

最佳答案

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

关于android - subview 焦点更改android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20185136/

相关文章:

长按项目的 Android 4.0+ 列表选择器 - 需要持久 - 不工作

android - Android-每当显示 Activity 时,如何自动显示输​​入法选择器?

java - listView 不显示“设计”选项卡中的项目,但显示在模拟器中

android - 如何识别编辑文本中的初始空格?

android - 如何为 Android 的画中画模式创建自定义屏幕尺寸?

Android:Honeycomb/Gingerbread 的不同小部件布局

android - 在运行 Android 11 的设备上,targetSdkVersion 22 底部出现黑色空间

android - 如何为 Android 抽屉导航添加与标题相邻的图标

android - 在移动设备上更新 Tensorflow Lite 模型而不更新应用程序?

java - 从 ListView 中选择一个项目