Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android LinearLayout获取子项更改焦点上的选择器状态_Android_Selector_Android Linearlayout_Onfocus - Fatal编程技术网

Android LinearLayout获取子项更改焦点上的选择器状态

Android LinearLayout获取子项更改焦点上的选择器状态,android,selector,android-linearlayout,onfocus,Android,Selector,Android Linearlayout,Onfocus,我有一个水平布局,其中一些垂直布局被调度 我想捕捉垂直布局的onFocusEvent,这样当其中一个获得焦点时,垂直布局中包含的图像和文本视图会更改选择器状态 我试图通过捕捉事件OnFocusChange来测试它,如下所示: LLContact.setOnFocusChangeListener(new OnFocusChangeListener() { public void onFocusChange(View arg0, boolean hasFocus) {

我有一个水平布局,其中一些垂直布局被调度

我想捕捉垂直布局的onFocusEvent,这样当其中一个获得焦点时,垂直布局中包含的图像和文本视图会更改选择器状态

我试图通过捕捉事件OnFocusChange来测试它,如下所示:

LLContact.setOnFocusChangeListener(new OnFocusChangeListener() {

        public void onFocusChange(View arg0, boolean hasFocus) {
        // TODO Auto-generated method stub

        if (hasFocus == true) {

            // Has Focus

        } else {

            // Loses focus

        }

        }
    });
但这一事件从未被触发

我将我的线性布局设置为“FocusableInTouchMode”为true,FocusableInTouchMode也为true,但似乎事件从未发生过。。。你有什么线索吗


提前感谢。

您需要设置manager textview和imageview的child的以下属性:
focusable=false;
clickable=false;
在触摸模式下可聚焦=错误


并将布局的这些属性设置为true

您将此代码放在哪个方法中?在我的活动的setContentView之后,在将LLContact分配给我的LinearLayout之后,该方法将放在onCreate上。谢谢,我想它回答了我的问题!顺便说一句,这种行为和我预想的不完全一样。事实上,我希望当我在LinearLayout上移动手指时,设置状态“聚焦”,当我的手指离开LinearLayout时,将LinearLayout的状态设置为“正常”。事件是否与OnFocusChange不同?然后您可以在listView的布局中将选择器设置为listSelector属性,并且不需要重写OnFocusChange方法这不是默认的吗!