ホームページ >Java >&#&チュートリアル >Android スピナーで選択した項目を値によってプログラム的に設定する方法は?

Android スピナーで選択した項目を値によってプログラム的に設定する方法は?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-31 17:30:02890ブラウズ

How to Programmatically Set the Selected Item in an Android Spinner by Value?

スピナーの選択した項目を値で設定する

ビューを更新するとき、データベースに保存されている値を事前に選択する必要がある場合があります。スピナー。最初は、次のような解決策を試みる可能性があります。

void setSpinner(String value)
{
    int pos = getSpinnerField().getAdapter().indexOf(value);
    getSpinnerField().setSelection(pos);
}

ただし、Adapter インターフェイスがindexOf メソッドを提供していないため、このアプローチでは障害が発生します。

Solution

スピナー内の特定の値の位置を検索して比較するには、次の手順に従います。

  1. 比較値を定義します。例: String CompareValue = "some value".
  2. 必要なリソースを使用して ArrayAdapter を作成します:

    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);
  3. ArrayAdapter をスピナーのアダプターとして設定します:

    mSpinner.setAdapter(adapter);
  4. getPosition メソッドを使用して、ArrayAdapter 内での比較値の位置を決定します。

    if (compareValue != null) {
     int spinnerPosition = adapter.getPosition(compareValue);
     mSpinner.setSelection(spinnerPosition);
    }

    これらの手順に従うことで、スピナー内の値をその値に基づいて効果的に事前選択できます。

以上がAndroid スピナーで選択した項目を値によってプログラム的に設定する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。