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

Mary-Kate Olsen
リリース: 2024-10-31 03:13:02
オリジナル
441 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート