上下文:
我想要一个不会获得焦点的 ListView (例如不会
当用户触摸它时突出显示该行)。然而每个行小部件都有它自己的
OnClickListener。
这是我在布局 xml 中指定的内容:
android:choiceMode="none"
android:focusableInTouchMode="false"
android:focusable="false"
ListView 的行为仍然完全相同。
有人可以解释一下吗
- 三者之间的相互关系
- 创建不接收焦点的 ListView 的正确方法是什么?
TIA.
尽管您在 xml 中指定,您也可以尝试在代码中指定。尽管我不确定您是否可以将列表设置为不可聚焦,但仍然可以使列表可滚动且可单击。
在你设置ContentView之后...
myListView.setFocusableInTouchMode(false);
您也可以尝试从视图继承,然后在中间添加一些调试代码,以帮助您找到列表何时真正获得焦点。
myListView.setOnFocusChangeListener(new OnFocusChangeListener(){
public void onFocusChange(View v, boolean hasFocus)
{
v.setBackgroundColor(hasFocus ? Color.GRAY : Color.BLACK);
}
});
myListView.setClickable(true);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)