当前位置:  开发笔记 > Android > 正文

在ListView中对焦控件

如何解决《在ListView中对焦控件》经验,为你挑选了1个好方法。

上下文:我想要一个不能获得焦点的ListView(例如,当用户触摸它时不会突出显示行).然而,每个行小部件都有自己的OnClickListener.这是我在布局xml中指定的内容:

android:choiceMode="none" 
android:focusableInTouchMode="false"
android:focusable="false"

ListView仍然表现完全相同.请有人解释一下

    三者之间的相互关系

    创建无法获得焦点的ListView的正确方法是什么?

TIA.



1> Quintin Robi..:

虽然您在xml中指定了,但您也可以尝试在代码中指定.虽然我不确定您是否可以将列表设置为不可聚焦,但仍然可以将列表设置为可滚动且可点击.

在你的setContentView之后......

myListView.setFocusableInTouchMode(false);

您也可以尝试从视图继承,然后在过渡期间添加一些调试代码,以帮助您找到列表实际具有焦点的时间.

    myListView.setOnFocusChangeListener(new OnFocusChangeListener(){

        public void onFocusChange(View v, boolean hasFocus)
        {
            v.setBackgroundColor(hasFocus ? Color.GRAY : Color.BLACK);
        }
    });

    myListView.setClickable(true);

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有