2011-10-19 12 views
2

私はドロップダウンリストを動的に作成したいと思います。私はサーバーにリクエストを行い、そこからデータを取得します(たとえば、いくつかのIDを取得します)。リストを大きく/小さくしたいと思います。リストの名前をのstrings.xmlAndroidは動的にドロップダウンリストを作成します

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="planet_prompt">Choose a planet</string> 
    <string-array name="planets_array"> 
     <item>Mercury</item> 
     <item>Venus</item> 
     <item>Earth</item> 
     <item>Mars</item> 
     <item>Jupiter</item> 
     <item>Saturn</item> 
     <item>Uranus</item> 
     <item>Neptune</item> 
    </string-array> 
</resources> 

全コードhereに書かれていたので、私はdeveloper.androidで見つかった例は、静的なものでした。

答えて

9
ArrayList<String> options=new ArrayList<String>(); 

options.add("option 1"); 
options.add("option 2"); 
options.add("option 3"); 

// use default spinner item to show options in spinner 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,options); 
mSpinner.setAdapter(adapter); 

また、使用して選択されるように、特定の項目を設定することができます。

mSpinner.setSelection(options.indexOf("option 2")); 

EDIT:

また

like-、スピナーの項目を表示するには、カスタムXMLファイルを使用することができます
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.custom_spinner_item,options); 
+0

+1わかりやすく私の答えです。 –

+0

'R.layout.spinner_item'とは何ですか?代わりに 'R.layout.main'を置くべきですか?私はそれを入れて、プログラムがクラッシュします..あなたはなぜ私に教えてくれますか? – Teo

+0

はい...それはカスタムレイアウトXMLファイルです。デフォルトのものを使用することもできます。私の編集を参照してください。 – Hiral

0

ArrayListを作成して、応答するすべてのオブジェクト/文字列を作成し、同じArrayListを持つアダプタを作成することをお勧めします。アダプタがあればSpinnerの中に簡単に設定することができます。

関連する問題