Android 如何将焦点状态传递给视图';谁的父母?

Android 如何将焦点状态传递给视图';谁的父母?,android,android-layout,Android,Android Layout,视图如何检测其子视图的焦点状态?正如你在这张照片中看到的。 父视图是带有子视图的线性布局。我想在焦点状态更改时更改UI(如果焦点在编辑文本上,linearlayout将变为红色)。但是只有EditText可以检测焦点状态,而LinearLayout不能检测焦点状态。当然,我可以使用onfocuschangedlisterner收听EditText的状态。但我并不满意。有没有一种简单的方法可以让父视图获得子视图的焦点事件?表单有很多项。我也认为除了 onfocusChangeListner 如

视图如何检测其子视图的焦点状态?正如你在这张照片中看到的。


父视图是带有子视图的
线性布局
。我想在焦点状态更改时更改UI(如果焦点在编辑文本上,linearlayout将变为红色)。但是只有
EditText
可以检测焦点状态,而
LinearLayout
不能检测焦点状态。当然,我可以使用
onfocuschangedlisterner
收听
EditText
的状态。但我并不满意。有没有一种简单的方法可以让父视图获得子视图的焦点事件?表单有很多项。

我也认为除了

onfocusChangeListner
如果您有许多edittext,那么您只需使用参数创建一个方法,并在其中只编写一个
onfocuschangeListner
,如下所示

public void setColorToEditText(EditText editText) {
    editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        public void onFocusChange(View v, boolean hasFocus) {
            Log.e("userFocu", "userFocu");
            if (!hasFocus) {
                // code to execute when EditText loses focus

            }
        }
 });

我认为除了onfocuschangedit之外没有其他方法了,因为它太复杂了,我必须处理每一项。也许我只能写一个自定义视图。我是纳维。