ListView内的可聚焦EditText
到目前为止,我已经花了大约6个小时来做这件事,除了遇到障碍之外,什么都没有。通常的前提是,ListView(无论是由适配器生成的还是作为标题视图添加的)行中都包含一个EditText小部件和一个行Button。我想要做的就是能够使用慢进/箭头,将选择器导航到正常的单个项目,但是当我到达特定的行时-即使必须明确标识该行-也可以将焦点一个孩子,我希望那个孩子能集中注意力,而不是用选择器指明位置。 我尝试了许多可能性,但到目前为止还没有运气。 布局: <ListView android:id="@android:id/list" android:layout_height="fill_parent" android:layout_width="fill_parent" /> 标题视图: EditText view = new EditText(this); listView.addHeaderView(view, null, true); 假设适配器中还有其他项目,使用箭头键将按预期在列表中上/下移动选择;但是当到达标题行时,它也会与选择器一起显示,并且无法集中到EditText使用慢跑球。注意:点按EditText 会把它聚焦在该点上,但是这取决于触摸屏,这不是必须的。 ListView在这方面显然有两种模式: 1 setItemsCanFocus(true).:从不显示选择器,但是EditText使用箭头时可以获取焦点。焦点搜索算法很难预测,并且没有视觉反馈(在任何行上:是否有可聚焦的子对象)都没有选择哪个项目,这两者都可以为用户带来意想不到的体验。 2 setItemsCanFocus(false).:选择器始终以非触摸模式绘制,EditText即使单击它也永远不会获得焦点。 更糟的是,调用editTextView.requestFocus()返回true,但实际上并没有给予EditText焦点。 我所设想的基本上是1和2的混合形式,而不是列表设置(如果所有项目都可聚焦),我想为列表中的单个项目设置聚焦性,以便选择器从选择整个行用于非焦点项目,并遍历焦点树以查找包含可焦点子项的项目。 有参加者吗?