Reputation: 1364
I've got an app with three spinners, they have unique IDs and I'm trying to use the following code to initialize them:
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);
They initialize and are filled with values, sure enough, but looking at the arrays in 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>
Spinner #2 (spinReroll) should have values from 2-10 while the others should have values 1-10, but when I run this app in my virtual device, all three spinners have 1-10 values, which is bad since selecting 1in in spinReroll creates an infinite loop :P
What have I done wrong?
Upvotes: 1
Views: 589
Reputation: 40416
spinner2.setAdapter(adapter2);
^^^
spinner3.setAdapter(adapter3);
^^^
you set first adapter
instead of adapter2
and also spinner3.
Upvotes: 3