Установите начальное значение Spinner Android с некоторым динамическим значением
-
12-10-2019 - |
Вопрос
Я хочу установить динамическое значение для спиннера в качестве его начального значения.
Если я установите это динамическое значение, то это не позволяет мне измениться на другое значение ..
Динамическое значение Spinner - это «Amex», если я хочу изменить свое значение как «обнаружение», которое в массиве, которое я не могу,
Итак, пожалуйста, дайте мне решение, вот мой код ..
spin_type = (Spinner) findViewById(R.id.Spinner_type);
adapter_type = new ArrayAdapter(Credit_Card_Main.this,android.R.layout.simple_spinner_item, array_type);
adapter_type.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin_type.setAdapter(adapter_type);
spin_type.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
spin_type.setSelection(adapter_type.getPosition(Signin.VALUE_type[selected_position]));
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
Спасибо
Венкатеш
Решение 2
spin_type.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
for (int i = 0; i < array_type.length; i++) {
if (test_flag_type == false) {
if (array_type[i].toString().equalsIgnoreCase(Credit_Card_List.VALUE_type[Credit_Card_List.selectCard])) {
spin_type.setSelection(adapter_type.getPosition(Credit_Card_List.VALUE_type[Credit_Card_List.selectCard]));
test_flag_type = true;
}
}
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
где array_type содержит список имен кредитных карт.
Я получаю первое значение в array_type [i] здесь i = 0, конвертируйте его в строку, затем сравнивает его с значениями, которые я получаю из базы данных (IE) value_type ..
Если то же самое пойдет внутрь, если цикл и установит значение в позиции в «i» ..
Если после установки значений я изменяю test_flag_tyype на True, так что в следующий раз он не зайдет в цикл, так как test_flag_type это правда ..
Так я заставляю это работать ..
Другие советы
Вы можете установить начальное значение для Spinner by spinner.setPrompt (); метод. Так что просто установите динамическое значение YOR на это