我有一個微調器,其中填充了CursorAdapter
。現在創建微調器(動態)時,我想設置一個不同於0的默認選項(0是CursorAdapter
列表中的第一項)Android Spinner.setSelection()不起作用
所以我得到了一個setter,創建。但是由於某種原因,無論我通過那個setter,我總是將其傳遞給Spinner的OnItemSelectedListener
中的onItemSelected()
方法。
但是,如果我只是等到第一次初始選擇發生並再次運行我的setter,一切正常。因此,使之更加這裏清楚是我在調試器中看到:
- 對象(微調)創建
- 微調偵聽器附加
- 二傳手運行時,一個數字,可以說4(微調的方式包含超過4個選項)傳遞給
setSelection()
方法 - 等一會
- NOW
onItemSelected()
運行的第一次,但考慮到該方法的位置爲0! - 等一會更多
- 我們再次運行二傳手
- 再次
onItemSelected()
運行,這時候,給出的排名位置是4,因爲它應該是!
現在,這是有線。似乎沒有可能設置該微調器,直到第一個初始選擇(始終爲0)運行。那麼爲什麼它是這樣的,我能做些什麼來設置初始選擇?
您可以發佈設置Spinner時使用的代碼嗎?這聽起來像可能是因爲你有一些錯誤的代碼 – 2012-01-28 20:09:52
這個答案(在另一個SO問題)爲我工作:http://stackoverflow.com/a/17370964/1617737 – 2017-02-02 22:42:24