2010-11-09 55 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

相關問題