2010-11-09 146 views
1

我有一個ListView的佈局,其中包含EditText對象,當用戶選擇編輯列表項時,可以使用requestFocus()。當發生這種情況時,我確保在ListView上調用setSelection(),然後使用EditText請求焦點,然後使用InputMethodManager.showSoftInput顯示軟鍵盤。但是,發生這種情況時,列表視圖正在正確調整大小,但所選列表項仍保持在摺疊狀態下,用戶必須向上滾動。這在2.2上正常工作,但在2.1上失敗。確保列表選擇保持可見的任何想法?Android 2.1:windowSoftInputMode =「adjustResize」與ListView無法正常工作

回答

1

事實證明,我最終記錄了屏幕上的位置,然後在列表視圖上重寫onSizeChanged()。當尺寸發生變化並且我有一個想要滾動查看的位置時,我在列表中調用了setSelection()以將其顯示在視圖中。不是非常優雅,但它似乎工作。

0

我想嘗試從列表本身或祖先視圖的onMeasure()調用smoothScrollToPosition()

+0

它只是我,或者是smoothScrollToPosition()從2.1中丟失?我正在查看源代碼,並且在AbsListView中沒有看到它。 – jjb 2010-11-09 18:28:32