1

私は 3 つのスピナーを持つアプリを持っています。それらには一意の ID があり、次のコードを使用してそれらを初期化しようとしています。

    Spinner spinner = (Spinner) findViewById(R.id.spinDouble);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.double_nums, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

    Spinner spinner2 = (Spinner) findViewById(R.id.spinReroll);
    ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this, R.array.reroll_nums, android.R.layout.simple_spinner_item);
    adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner2.setAdapter(adapter);

    Spinner spinner3 = (Spinner) findViewById(R.id.spinTarget);
    ArrayAdapter<CharSequence> adapter3 = ArrayAdapter.createFromResource(this, R.array.target_nums, android.R.layout.simple_spinner_item);
    adapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner3.setAdapter(adapter);
    spinTarget.setSelection(3);

それらは初期化され、値が入力されます。確かに、strings.xml の配列を見てください。

<string-array name="reroll_nums">
    <item>10</item>
    <item>9</item>
    <item>8</item>
    <item>7</item>
    <item>6</item>
    <item>5</item>
    <item >4</item>
    <item >3</item>
    <item >2</item>
</string-array>
<string-array name="double_nums">
    <item>10</item>
    <item>9</item>
    <item>8</item>
    <item>7</item>
    <item>6</item>
    <item>5</item>
    <item >4</item>
    <item >3</item>
    <item >2</item>
    <item >1</item>
</string-array>
<string-array name="target_nums">
    <item>10</item>
    <item>9</item>
    <item>8</item>
    <item>7</item>
    <item>6</item>
    <item>5</item>
    <item >4</item>
    <item >3</item>
    <item >2</item>
    <item >1</item>
</string-array>

スピナー #2 (spinReroll) は 2 ~ 10 の値を持つ必要があり、その他の値は 1 ~ 10 の値を持つ必要がありますが、仮想デバイスでこのアプリを実行すると、3 つのスピナーすべての値が 1 ~ 10 になります。 spinReroll は無限ループを作成します :P

私は何を間違えましたか?

4

1 に答える 1

3
 spinner2.setAdapter(adapter2); 
                            ^^^
 spinner3.setAdapter(adapter3);
                            ^^^

spinner3adapterの代わりに最初に設定します。adapter2

于 2012-06-08T18:18:31.527 に答える