Android"可专注于触控模式"标志随机行为

时间:2015-09-06 11:04:52

标签: android user-interface listview

我有一个带有ListView组件的Activity, 每排都有类似的东西 EditText1,EditText2,EditText3,CheckBox1

所有这些组件在getView方法中以编程方式创建和添加到LinearLayout ...还由于程序逻辑而创建启用或禁用的编辑器:

editor.setEnabled(field.isEditable());

好吧,最初是所有行和列中的所有编辑器 有一个很好的焦点属性

isFocusable:true,isFocusableInTouchMode:true

但后来我添加了一个代码来明确设置编辑器的可聚焦性:

editor.setEnabled(field.isEditable());  

editor.setFocusable(field.isEditable());

之后编辑以奇怪的方式生成: 其中一些在

上有两个焦点属性

isFocusable:true,isFocusableInTouchMode:true

但是其中一些在触摸模式下无焦点生成:

isFocusable:true,isFocusableInTouchMode:false

所以我在调用 requestFocus();

时遇到问题

为什么UI视图可以使用 isFocusableInTouchMode() - " neighbor"来获取此类未定义的行为。当我用 true 参数以编程方式设置 setFocusable()时, isFocusable()标志?

1 个答案:

答案 0 :(得分:0)

好吧,看来listview每次都没有做新的观点, 例如,如果我能在全屏幕上看到

row1
row2 (not focusable)
row3
row4
row5

然后,当我向下滚动到

row6
row7 <--
row8
row9
row10

row7将继承row2的所有属性。 它似乎是在屏幕上生成的行重用作为绘制所有其他行的模板。继续深入研究ListView的基础知识