スピナーの選択した項目を値で設定する
ビューを更新するとき、データベースに保存されている値を事前に選択する必要がある場合があります。スピナー。最初は、次のような解決策を試みる可能性があります。
void setSpinner(String value) { int pos = getSpinnerField().getAdapter().indexOf(value); getSpinnerField().setSelection(pos); }
ただし、Adapter インターフェイスがindexOf メソッドを提供していないため、このアプローチでは障害が発生します。
Solution
スピナー内の特定の値の位置を検索して比較するには、次の手順に従います。
必要なリソースを使用して ArrayAdapter を作成します:
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);
ArrayAdapter をスピナーのアダプターとして設定します:
mSpinner.setAdapter(adapter);
getPosition メソッドを使用して、ArrayAdapter 内での比較値の位置を決定します。
if (compareValue != null) { int spinnerPosition = adapter.getPosition(compareValue); mSpinner.setSelection(spinnerPosition); }
これらの手順に従うことで、スピナー内の値をその値に基づいて効果的に事前選択できます。
以上がAndroid スピナーで選択した項目を値によってプログラム的に設定する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。