我在 Monodroid 中有一个列表,它有一个带有 EditText 的标题。问题是 EditText 没有正确获得焦点。这是它的工作原理:
- 如果您触摸 EditText,键盘会正确出现,但如果您按任意键,则没有任何反应。
- 使用后退按钮隐藏键盘
- 如果您再次触摸 EditText,它会正常工作
我尝试调试它,第一次 FocusChange
事件触发了两次,第一次是 HasFocus = true
,第二次是 HasFocus = false
.
有什么建议我做错了吗?
更新
解决了我的问题:
我在 XML 中将其设置为我的 ListView:
android:descendantFocusability="afterDescendants"
然后在代码中添加到我的 ListView:
ListView.ItemsCanFocus = true;
这是我的 EditText:
android:focusableInTouchMode="true"
android:focusable="true"
瞧,它就像一个魅力。谢谢布拉德利!
最佳答案
我建议将 EditText 放在布局 xml 中的 ListView 上方,而不是将其添加到标题中。
我以前遇到过这种情况,并且永远无法从单一解决方案中获得 100% 的可靠性。如果暴力方法是唯一的解决方案,请尝试 ListView 对象上以下属性的不同组合:DescendantFocusability、ItemsCanFocus、Focusable。
关于Android列表-列表标题中的编辑文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15809703/