#android #gallery #onconfigurationchanged
#Android #Галерея #onconfigurationchanged
Вопрос:
Я изменяю Activity
для реализации, onConfigurationChanged(...)
и он содержит расширенный Gallery
, члены которого задаются вручную, используя их LayoutParams
из Gallery
адаптера.
К сожалению Gallery
, изначально отображается неправильно: расширенный View
заполняет весь экран. Однако, как только выбран другой элемент View
, отображается правильный размер.
В качестве эксперимента я попытался заморозить размеры выбранного View
из Gallery#onConfigurationChanged(...)
метода, и произошло то же самое поведение, предполагая View
, что он был обновлен, но изменения Gallery
не отображаются.
Я также пытался вызывать оба invalidate()
и postInvalidate()
Gallery
из Activity#onConfigurationChanged(...)
. Ничего.
Как я могу заставить Gallery
перерисовать с правильными размерами для View
?
Комментарии:
1. Вы пробовали notifyDataSetChanged() на адаптере?
2. обновите адаптер галереи.
3. @SnowyTracks к сожалению, это не сработало.
4. Я не уверен, как вы добавляете свои представления в свою галерею, однако попробуйте вызвать invalidate() для представлений внутри адаптера, а не только для самой галереи.
5. Уже пробовал это (изнутри метода просмотра, который сбрасывает все); все равно никакой радости.
postInvalidate()
тоже ничего не сделал.
Ответ №1:
Вызов notifyDataSetChanged()
вашего адаптера галереи должен выполнить эту работу.
Если этого не произойдет, возможно, где-то что-то не так с вашими кодами.