«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как установить выбор счетчика по значению, а не по положению в Android?

Как установить выбор счетчика по значению, а не по положению в Android?

Опубликовано 10 ноября 2024 г.
Просматривать:539

How to Set a Spinner\'s Selection by Value, Not Position in Android?

Настройка выбора Spinner по значению, а не по положению

При обновлении представления выбор Spinner должен соответствовать значению, хранящемуся в базе данных, Обычный подход заключается в поиске соответствующей позиции с помощью метода indexOf адаптера. Однако этот подход сталкивается с препятствием, поскольку адаптер не предоставляет такого метода.

Чтобы преодолеть эту проблему, более подходящим подходом является использование метода getPosition класса ArrayAdapter. Этот метод в сочетании с подходящим ArrayAdapter позволяет идентифицировать позицию, связанную с определенным значением.

Рассмотрим сценарий, в котором счетчик с именем mSpinner содержит значение «некоторое значение». Чтобы найти и сравнить его положение, выполните следующие действия:

Создайте ArrayAdapter из файла ресурсов R.array.select_state:

ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);

Установите адаптер Spinner и DropDownViewResource:

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);

Далее, если сравниваемое значение (compareValue) не равно нулю:

if (compareValue != null) {
    int spinnerPosition = adapter.getPosition(compareValue);
    mSpinner.setSelection(spinnerPosition);
}

Применяя этот подход, выбор Spinner можно точно установить на основе значения, хранящегося в базе данных, обеспечивая удобство работы пользователя во время обновлений представления.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3