私はアプリケーションで作業しており、スピンウィジェットに関するいくつかの助けが必要です。 配列は作成時にエントリがなく、別の関数で埋められます。だから私はこの機能でスピナーを更新するためにとspinner.setAdapter(adapter);
を使用しなければならないと思います。ただ、教育目的のためにAndroid Spinnerはアイテムを追加します
// global variables String[] test = new String[100]; int x = 0; Spinner s; ArrayAdapter adapter; Button btn1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn1 = (Button) findViewById(R.id.button1); btn1.setOnClickListener(this); s = (Spinner) findViewById(R.id.spinner1); adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, test); } public void onClick(View arg0) { test[x] = String.valueOf(x);; x++; adapter.add(test[x]); s.setAdapter(adapter); }
私はこれを試してみましたが、バグがのonClick()関数の中で依然として存在しています。 何かがArrayAdapterで行われなければならないと思います。しかし私はこれに慣れておらず、ボタンを押してそれを追加する例は見つからなかった。 おそらくどこか他の場所で単純な障害がありますが、現在は表示されません。ここ
完全なコード:
ArrayList<Integer> test; int x = 0; Spinner s; ArrayAdapter adapter; Button btn1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn1 = (Button) findViewById(R.id.button1); btn1.setOnClickListener(this); s = (Spinner) findViewById(R.id.spinner1); test = new ArrayList<Integer>(); adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, test); } public void onClick(View arg0) { test.add(x); x++; s.setAdapter(adapter); }
ありがとう、問題は解決しました。 これまでにArrayListを使用したことはありませんでしたが、実際は普通の配列の代わりに非常に快適なものです。 – Silu