2012-09-29 39 views
0

在我的Android應用程序中,我有一個Activity和一個Spinner小部件。我用下面的代碼中創建onCreate()它:在Spinner小部件中設置選定的項目

this.playerPositionSpinner = (Spinner) this.findViewById(R.id.player_position_text); 
    ArrayAdapter<CharSequence> positionsAdapter = ArrayAdapter.createFromResource(this, R.array.positions, android.R.layout.simple_spinner_item); 
    positionsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    this.playerPositionSpinner.setAdapter(positionsAdapter); 

後來我想設置基於一個字符串,我所知道的是在Spinner的列表中選擇一個有效的項目所選擇的項目?所有的Spinner.setSelection()方法都需要參數int。我如何在Spinner的下拉列表中獲得String的位置?

回答

2

(您已經發布了一些代碼,現在是啊,這大大簡化我的例子!)
我建議使用Spinner#setSelection()調用setAdapter()後:

playerPositionSpinner.setSelection(positionsAdapter.getPosition("Watermelon")); 

很明顯,你可以使用相關應用程式的東西代替"Watermelon"

+0

我很抱歉,我原來的問題有點含糊。我編輯了一些更多的細節。如果您覺得需要,請隨時更新您的答案。 –

+0

@ Code-Guru - 在給Spinner分配了一個'ArrayAdapter'後,你只能調用'setSelection'。我建議將playerPositionSpinner聲明爲類成員,然後在'onCreate'中分配它,這樣你就可以從其他方法和內部類調用微調器 – mrres1

+0

@ mrres1在我用編輯添加的代碼中,this 'playerPositionSpinner'前面的引用應該是它已經是類成員的線索。 –

-1

你需要創建和設置後致電playerPositionSpinner.setSelection(position) Spinner的ArrayAdapter

+3

這些鏈接中的任何一個如何回答這個問題?從Stack Overflow關於僅鏈接答案的政策:「雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供參考鏈接。如果鏈接頁面更改,僅鏈接答案可能會失效「。 – Sam

+0

我已經看過這兩個,並沒有找到解決我的問題。我可能應該在我的問題中添加更多細節。 –

+0

好點的山姆,想刪除你的評論和倒票? – mrres1

相關問題