2013-06-27 22 views
0

我在對話框中創建單個選項列表。ListView setSelection不適用於選擇簡單列表

我已經完成了所有的基本功能就像加了setonitemclicklistener,但我想要的是,缺省設置列表中的第一個項目,但是當我使用爲setSelection(1)它不工作:

我已經做了:

private void resetPosition(final ListView lv) { 
    lv.post(new Runnable() { 
     @Override 
     public void run() { 
      lv.setSelection(1); 
     } 
    }); 
    } 

,我呼籲按一下按鈕,將啓動該對話框這個功能,

什麼是錯的代碼?

setSelection()的文檔顯示一行「如果在觸摸模式下,該項目將不會被選中,但它仍然會被適當定位」「這是錯誤嗎?

回答

8

如果您需要項目選擇,您應該允許檢查列表項目。您需要使用ListView.setChoiceMode(CHOICE_MODE_SINGLE)將ListView的選擇模式設置爲CHOICE_MODE_SINGLE

然後您需要使用ListView.setItemChecked(int position, boolean checked)方法作爲ListView.setItemChecked(0, true)將第一個位置設置爲選定。

另見:http://www.vogella.com/articles/AndroidListView/article.html#listviewselection

+1

它的工作,但我想,當顯示的列表,此時該項目被選中,但它的不一樣,它是在列表的底部選擇的項目是可見的。提前Thanx –

+0

使用setSelection()方法,就像你之前做過的那樣。 –

+0

@Mr_Hmp你找到了方法嗎? – kiduxa

相關問題