Spinner больше не выбирает значение при нажатии на пустое место - PullRequest
0 голосов
/ 29 мая 2019

После обновления до Android 8.0 (26) я заметил, что мои счетчики ведут себя по-разному.Выпадающие элементы намного меньше, и, прежде всего, нажатие на пустое место рядом с текстом больше не приводит к выбору значения, я должен нажать на фактический текст.Это было не так с Android 6.0 (23), где выпадающие элементы были больше, и при нажатии на пустое место также выбиралось значение.

Я заметил, что эта проблема возникает, только когда я заполняю свой счетчик вручную, установивадаптер из кода, а не когда я использую android:entries="@array/... в файле макета XML.

Я использовал отладчик в Android Studio, и я вижу, что значение mDropDownResource адаптера равно 17367049 длясчетчики, в которых возникает проблема, это значение android.R.layout.simple_spinner_dropdown_item.Для счетчиков, где значения задаются в XML, это значение равно 2131492931, поэтому, очевидно, при установке значений в XML используется другой макет / адаптер / что угодно, и я не могу понять, как решить эту проблему.

Это код, который я использую для заполнения счетчика:

ArrayAdapter<String> tagAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, tags); tagAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); sTag.setAdapter(tagAdapter);

Этот проект имеет compileSdkVersion 28, minSdkVersion 26, targetSdkVersion 26 и используетбиблиотека AppCompat.

OK

Not OK

Я сделал эти снимки экрана на Huawei P20 Lite.Как ни странно, когда я запускаю один и тот же проект на эмуляторе с тем же уровнем API, проблема не возникает.

...