Как использовать Android Spinner как выпадающий список

Мне потребовалось много времени, чтобы разобраться с Android Spinner. После нескольких неудачных попыток реализации и после прочтения многих вопросов, частично похожих на мои, нобез удовлетворительных ответова некоторые вообще не имеют ответов, напримерВот а такжеВотЯ наконец понял, что «спиннер» в Android не означает то же самое, что «выпадающий список» из настольных приложений или выбор в HTML. Тем не менее, то, что нужно моему приложению (и я предполагаю, что приложения всех других постеров, чьи вопросы похожи) - это то, что работает как выпадающий список, а не как счетчик.

Две мои проблемы связаны с тем, что я сначала считал особенностями OnItemSelectedListener (я видел их как отдельные вопросы на этом сайте, но не как один):

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

Теперь я понимаю, что когда вы думаете об этом, имеет смысл, чтобы это произошло наволчок - он должен начинаться с выбранного значения по умолчанию, и вы вращаете его только для того, чтобы изменить это значение, а не для «повторного выбора» значения -документация фактически говорит: «Этот обратный вызов вызывается только тогда, когда новая выбранная позиция отличается от ранее выбранной позиции». И я виделответы, предлагающие установить флаг игнорировать первый автоматический выбор - я думаю, я мог бы жить с этим, если нет другого пути.

Но так как мне действительно нужен раскрывающийся список, который ведет себя как раскрывающийся список (и как пользователи могут и должны ожидать), то мне нужно нечтолюбить Spinner, который ведет себя как выпадающий список, как поле со списком. Я не забочусь о каком-либо автоматическом предварительном выборе (это должно произойти без запуска моего слушателя), и я хочу знать окаждый выбор, даже если он такой же, как ранее (в конце концов, пользовательвыбранный тот же пункт снова).

Итак ... есть ли что-то в Android, что может сделать это, или какой-то обходной путь, чтобы Spinner вел себя как выпадающий список? Если здесьявляется вопрос, подобный этому на этом сайте, который я не нашел и на который есть удовлетворительный ответ, пожалуйста, дайте мне знать (в таком случае я искренне извиняюсь за повторение вопроса).

Ответы на вопрос(6)

Ваш ответ на вопрос