Android Spinner.setSelection (int, false) создает испорченные Spinners - PullRequest
1 голос
/ 29 января 2012

после использования setSelection (int, false), как предложено здесь , потому что у меня возникли проблемы при использовании setSelection (int) по умолчанию для начальной установки , оказалось, что использование двух параметров param messesвверх макета счетчика до первого ручного выбора, подробности см. изображение ниже.Есть ли способ «обновить» макет блесны?

setSelection 2param messed up spinner layout

1 Ответ

0 голосов
/ 06 февраля 2012

Хорошо, я понял. Я расширил класс Spinner, добавил переменную для сохранения того, что это «первый» проход, и переопределил метод onDraw. После того, как super.OnDraw () вызван, я могу быть уверен, что макет был нарисован в первый раз, и все данные передаются в счетчик, так что следующий метод requestLayout () исправит все ошибки макета. поэтому я просто проверяю, является ли это первым onDraw с моей переменной, если да, я вызываю requestLayout () и устанавливаю переменную в false. это не самый лучший способ, и, может быть, есть еще одно событие, которое я мог бы использовать, которое выполняется перед розыгрышем, но этого достаточно для моих нужд.

...