0

私は複製しなければならない

<select>
  <option value="36">Volvo</option>
  <option value="45">Saab</option>
  <option value="56">Mercedes</option>
  <option value="71">Audi</option>
</select>

その中string.xmlのアイテムを選択するSpinnerと、アイテムの名前ではなくアイテムの値が表示されます。つまり、この値を使用する必要があります。使ってみStringArrayましたが、アイテムに価値を与えるオプションがありません。値は静的です。他の回避策を使用するのではなく、string.xml でこれを行うことができるかどうか疑問に思っていました。

どうすれば進められるか教えてください。

4

2 に答える 2

2

1 つは名前用、もう 1 つは値用の 2 つの文字列配列を定義できます。

<Spinner 
    android:id="@+id/spinner"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:drawSelectorOnTop="true"
    android:entries="@array/array_names"
    android:entryValues="@array/array_name_values"
/>

編集 :

忘れたstrings.xml

文字列.xml:

<string-array name="array_names">
    <item>Volvo</item>
    <item>Saab</item>
    <item>Mercedes</item>
    <item>Audi</item>
</string-array>

<string-array name="array_name_values">
    <item>36</item>
    <item>45</item>
    <item>56</item>
    <item>71</item>
</string-array>
于 2013-06-14T13:29:58.397 に答える
0

Android のスピナーやその他の同様のリストベースの要素は、データ (この場合はデータの配列またはデータベース クエリからのカーソル) をビューで表示できる形式に変換するアダプターを介して設定されます。

ここでは、ArrayAdapter を見たいと思っています。このクラスは、データとスピナーの間のインターフェースです。ArrayAdapter は、次のように、Java コードでプログラムによって作成された配列、または xml リソース文字列ファイルで配列としてハードコードされた配列など、さまざまなソースから設定できます。

<resources>
    <string-array name="cars_array">
        <item>Volvo</item>
        <item>Saab</item>
        <item>Mercedes</item>
        <item>Audi</item>
    </string-array>
</resources>

この方法で静的データを使用する場合、「item」タグには、例の options タグのような属性はありません。オプションは次のいずれかになります。

1 - この配列を既存のアダプター クラスと共に使用し、Java コードのどこかにプログラムで値を配置します。

2 - 値を別の配列リソースに配置し、必要に応じて独自のアダプター クラスを作成して、必要に応じて両方を使用します。

スピナーの使用に関する詳細とリンクについては、こちらを参照してください

お役に立てれば!

于 2013-06-14T13:32:30.767 に答える