Android: искаженное представление PreferenceActivity

У меня довольно скромный экран настроек на основе PreferenceActivity. (Вы можете увидеть это в приложении DroidIn) У меня с ним проблемы, которые, как мне кажется, связаны с перерисовкой экрана после обновлений. Вот симптомы:

  1. OnPreferenceChangeListener#onPreferenceChange если я изменяю сводку предпочтений, выполнив Preference#setSummary, новое значение закрашивается поверх старого, создавая неприглядный эффект
  2. Экран моих настроек достаточно большой, чтобы пользователю приходилось его прокручивать. Во время прокрутки весь экран перепутался, снова похоже, что вид перерисовывается (при прокрутке) без предварительного стирания фона.

Предпочтения определены в файле XML - ничего особенного, только некоторые категории и предпочтения, вложенные в <PreferenceScreen/>

Мне нужно явно перерисовать представление? Это кажется чрезмерным - почему бы этого не произошло по умолчанию? Поскольку это существующее приложение, оно собирается и распространяется с версией 1.5.

P.S. Я также хочу упомянуть, что такое поведение наблюдается в эмуляторе и на G1 как в 1.1, так и в 1.5. Похоже, мне нужно зарегистрировать это как ошибку


person Bostone    schedule 24.09.2009    source источник


Ответы (1)


Проблема решена!

Оказалось, что по какой-то причине (вероятно, просто скопировав какой-то пример кода, не задумываясь) у меня была эта строка в моем theme.xml <item name="android:windowBackground">@null</item>. Как только я его удалил - проблема с перерисовкой исчезла

person Bostone    schedule 25.09.2009