Две вещи, чтобы попробовать:
1.) Я собираюсь взять выстрел в темноте здесь и предположить, что вы пытаетесь определением опции для вашего блесны в этом XML. Это то, что я в одном из моих приложений, где я успешно использую setSelection()
.
<Spinner android:id="@+id/spinner_edit_gender"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:prompt="@string/genders"
android:entries="@array/gender_array"/>
, а затем ваш код становится:
Spinner gender = (Spinner) findViewById(R.id.spinner_edit_gender);
if (strGender.equalsIgnoreCase("male"))
gender.setSelection(0,true);
else
gender.setSelection(1,true);
или, если мы хотим получить немного фантазера:
Spinner gender = (Spinner) findViewById(R.id.spinner_edit_gender);
(strGender.equalsIgnoreCase("male")) ? gender.setSelection(0,true) : gender.setSelection(1,true);
Я изменил equals()
к equalsIgnoreCase()
, потому что вы значение в массиве дон 't соответствует случаю значений в вашем коде в вашем примере («мужчина» и «мужчина»).
2.) Когда я печатал первую часть, я заметил, что тип вашего ArrayAdapter равен CharSequence
. Попробуйте изменить это на String
, а затем проверьте исходный код. Однако, в зависимости от ваших потребностей, вы можете рассмотреть возможность определения параметров в XML, поскольку, по крайней мере, на мой взгляд, это более простой и простой способ определения опций для счетчика, чем для работы с ArrayAdapters.
Где вы определяете 'strGender'? – Sam
над полем «Spinner gender»; У меня есть String strGender, и его значение является «женским», наверняка .... я печатаю его по Log – kande
. Чтобы убедиться, что у 'R.array.gender_array' есть два значения, правильно? Кроме того, можете ли вы разместить его содержимое, а также свой XML для 'R.id.spinner_edit_gender'? – shanet