2010-11-09 54 views
1

我在ListView的行中有一些EditViews。除非软键盘升高和降低,否则这种方式工作得很好。ListView中的EditView行:软键盘显示时焦点丢失

当我用软键盘触摸ListView中的EditView时,焦点跳转到EditView,然后键盘出现,从EditView中移除焦点并将焦点设置到ListView,导致奇怪的用户体验无焦点 - 可见的地方。

用键盘触摸EditViews已经可以像预期的那样显示了。这个问题似乎与软键盘的下降和提升有关,并且ListView对关注焦点的位置感到困惑。

我有listView.setItemsCanFocus(真)为ListView

回答

0

ListView尝试android:focusable="false"

+0

这适用于我要去的效果。我没有想过为ListView删除它!它在1.6 SDK中有一个奇怪的效果,即如果在同一行中有两个EditText,选择第二个将把注意力集中在键盘从降低到升高时的第一个,但这是一个很大的改进! – Kenny 2010-11-09 14:39:22

+0

我说得太快了,这不像预期的那样。当focusable设置为false时,当键盘出现时,焦点被从EditText中窃取并提供给ListView,而ListView又将其传递给第一个接受焦点的子控件(在我的情况下是listView中的第一个EditText,无论哪个EditText导致软键盘显示)。不知何故,ListView需要跟踪最后一个有焦点的孩子并将焦点返回给它。我想我将不得不深入一些ListView源。 – Kenny 2010-11-10 15:27:30

+0

嗨。你有没有设法解决它? – Yar 2011-08-10 14:23:28

相关问题