Android: XML-макет ListView не показывает фоновое изображение при прокрутке

У меня есть Activity с ListView, я программно устанавливаю фоновое изображение для просмотра. Когда я прокручиваю список вниз, фоновое изображение становится белым (потому что моя тема - Theme.Light.NoTitleBar).

  1. Как я могу заставить его прокручиваться с неповрежденным синим фоном?
  2. Если вышеуказанный пункт работает, как я могу изменить цвет текста ListView на белый вместо черного?

Обычный ListView Обычный ListView

Прокрутка ListView Прокрутка ListView

Нажатие элемента ListView Нажатие элемента ListView


person Nouran H    schedule 28.06.2012    source источник


Ответы (5)


  1. Используйте атрибут android:cacheColorHint="#000000" в теге ListView
  2. Что касается цвета TextView's черным или белым, вы можете обратиться сюда, чтобы создать индивидуальный TextView для вашей ListView строки. Дополнительная работа, которую вы нужно просто добавить еще один атрибут внутри тега TextView, например,

    android:textColor="#FFF" //or #FFFFFF for white

person Adil Soomro    schedule 28.06.2012
comment
единственный ответ, который вернулся на оба моих вопроса, большое спасибо :) - person Nouran H; 28.06.2012

добавить атрибут в тег ListView

android:cacheColorHint="#00000000"// setting as a transparent color
person interboy    schedule 28.06.2012

Это связано с оптимизацией. Чтобы удалить это, просто установите cacheColorHint вашего listView на прозрачный, например: android:cacheColorHint="#00000000"

Полный текст здесь: http://android-developers.blogspot.fr/2009/01/why-is-my-list-black-android.html

person AMerle    schedule 28.06.2012

Вы можете обернуть этот ListView внутри LinearLayout с таким же фоном, а затем удалить фон ListView, который должен работать нормально. . :)

person RPB    schedule 28.06.2012
comment
это обходной путь, а не решение, и я не думаю, что мне следует проиграть. Проголосовали за этот ответ. - person RPB; 28.06.2012

Проверьте этот ответ. У меня такая же проблема, и она исправлена ​​путем установки view = null на стороне адаптера.

person Ahmad Arslan    schedule 02.07.2015