Android 监听视图及子视图焦点变化
可以通过实现 View.OnFocusChangeListener 接口来监听当前视图(包含子视图)是否获得或失去焦点。具体实现方法如下:
-
在需要监听焦点变化的视图上调用 setOnFocusChangeListener 方法,并传入一个 OnFocusChangeListener 实例。
-
在 OnFocusChangeListener 实例中实现 onFocusChange 方法,该方法会在视图获得或失去焦点时被调用。
示例代码如下:
// 获取需要监听焦点变化的视图
View view = findViewById(R.id.view);
// 设置焦点变化监听器
view.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
// 在这里处理焦点变化事件
if (hasFocus) {
// 视图获得焦点
} else {
// 视图失去焦点
}
}
});
注意:如果需要监听子视图的焦点变化,需要在父视图的 OnFocusChangeListener 中递归遍历子视图,并为每个子视图设置焦点变化监听器。
原文地址: https://www.cveoy.top/t/topic/jNNl 著作权归作者所有。请勿转载和采集!