ホームページ  >  記事  >  Java  >  Android でスピナーの選択を位置ではなく値で設定する方法

Android でスピナーの選択を位置ではなく値で設定する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-31 03:13:02361ブラウズ

How to Set a Spinner's Selection by Value, Not Position in Android?

スピナーの選択を位置ではなく値で設定する

ビューを更新し、スピナーの選択がデータベースに保存されている値と一致する必要がある場合、従来のアプローチは、アダプターのindexOfメソッドを使用して対応する位置を特定することです。ただし、アダプターがそのようなメソッドを提供していないため、このアプローチでは障害が発生します。

この課題を克服するには、より適切なアプローチは ArrayAdapter の getPosition メソッドを利用することです。このメソッドを適切な ArrayAdapter と組み合わせると、特定の値に関連付けられた位置を識別できるようになります。

mSpinner という名前のスピナーに「ある値」の値が含まれているシナリオを考えてみましょう。その位置を見つけて比較するには、次の手順に従います:

リソース ファイル R.array.select_state から ArrayAdapter を作成します:

<code class="java">ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);</code>

スピナーのアダプターと DropDownViewResource を設定します:

<code class="java">adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);</code>

次に、比較する値 (compareValue) が null でない場合:

<code class="java">if (compareValue != null) {
    int spinnerPosition = adapter.getPosition(compareValue);
    mSpinner.setSelection(spinnerPosition);
}</code>

このアプローチを採用することで、データベースに格納されている値に基づいてスピナーの選択を正確に設定できます。ビューの更新中にシームレスなユーザー エクスペリエンスを提供します。

以上がAndroid でスピナーの選択を位置ではなく値で設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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