2012-10-30 31 views
0

多次嘗試後,我使用「mListView.setSelection(0);」當列表出現時在ListView中選擇第一行。但不知道爲什麼它不工作。那麼我怎樣才能讓第一行始終點擊?因爲在我的應用程序中,我有左側的listview和右側的webview。所以我需要當我的應用程序啓動時,第一行始終選中,以便webview加載默認情況下的第一個元素的詳細信息。 listView的數據使用與SQLite數據庫通信的遊標適配器加載。安卓第一行未選中使用setSelection(0)方法

這是我的代碼的一部分: code

+0

您是否在使用適配器填充了ListView之後調用setSelection? 你打電話給setChoiceMode(ListView.CHOICE_MODE_SINGLE)嗎? –

+0

是的,我添加了mListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);不知道爲什麼第一個項目默認沒有被選中。 – Anthony

+0

請發表您的代碼 –

回答

0

嘗試的OnGlobalLayoutListener設置你的ViewTreeObserver,這隻要佈局設置設置選擇。 (請記得在第一次呼叫時先刪除收聽者以避免重複呼叫。)

檢查android源文件setSelection(int)是否正確處理未填充列表。

+0

對不起,但你可以請發佈代碼來獲得你的想法 – Anthony

0

你可以嘗試使用smoothScrollToPosition(int position)它應該適合你。

mListView.smoothScrollToPosition(0); 
+0

對不起,但這種方法不會解決我的問題,我需要的是突出顯示行例如:藍色),不滾動到項目位置 – Anthony

+0

你有沒有嘗試類似[this](http://stackoverflow.com/a/10584809/726863)? –

+0

我的類擴展了片段活動,而不是ListActivity,並且此解決方案重寫getview()方法。那麼我如何在我的情況下使用它? – Anthony