データで満たされた ArrayLists がたくさんあります。私がしたいのは、配列リストを使用してスピナーを設定することだけです。他の SO の質問では、人々は独自のアダプターを作成し、ArrayList をフィールドとして保存しますが、私はそれを行う必要はありません。
スピナーにデータを入力したいだけです。これほど簡単なものはないと思いますが、似ているものはありますか
mySpinner.populate( myList );
組み込みのArrayAdapterを使用するだけで、カスタム Adapter を作成する必要はありません。
List<String> list = new ArrayList<String>();
// Fill list with strings
...
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setAdapter(adapter);
使用しているデータ型を指定しませんが、それは問題ではありません: ArrayAdapter のサブタイプを<Integer>
、<Double>
、またはカスタム クラスに簡単に変更でき<Kittens>
ます (カスタム クラスを toString() メソッドに定義している限り)。
ArrayAdapters
add()
内部リストに物を保存する方法があります。独自に作成する必要はありません。次のようなことを試してください:
for(Object ob : yourArrayList)
<arrayAdapter>.add(ob);
<arrayAdapter>.notifyDataSetChanged();
Object
あなたが使用しているコレクションに変更しますList
。