Intereting Posts
Лучшие практики для SQLite DB и ContentProvider Как я могу воспроизводить видео с байта в android Объявляя, что класс реализует OnClickListener и объявляет его самостоятельно? Как установить переменную GNUMAKE для работы ndk-build Android рисует линию, которая следует за вашим пальцем Максимальный размер встроенной кучи на Android? Является ли служба распознавания речи Android занятой? MODE_MULTI_PROCESS для SharedPreferences не работает Как получить доступ к защищенному элементу без использования устройства, которое уже поддерживает интерфейс SmartCard API Исключение Null Pointer, затрудняющее передачу массива с использованием ksoap Поддержка SNT для Android HTTPS с использованием SSLCertificateSocketFactory Is AsyncTask действительно концептуально испорчен или я просто что-то пропустил? Recyclerview добавить данные в начало без беспорядка свиток? Преобразование base64 imageString в растровое изображение для отображения в ImageView, отображающем нуль в растровом изображении Что вызывает сообщение «Включить конвертер myanmar Zawgyi»,

Используйте android.R.layout.simple_list_item_1 с легкой темой

Я узнал, что при использовании android:entries с ListView он использует android.R.layout.simple_list_item_1 как макет для элемента списка и android.R.id.text1 как идентификатор TextView внутри этого макета. Пожалуйста, поправьте меня, если я ошибаюсь.

Зная это, я хотел создать свой собственный адаптер, но использовать те же ресурсы макета, чтобы обеспечить согласованность интерфейса с платформой. Таким образом, я попробовал следующее:

 mAdapter = new SimpleCursorAdapter( getApplicationContext(), android.R.layout.simple_list_item_1, mSites, new String[] { SitesDatabase.KEY_SITE }, new int[] { android.R.id.text1 } ); 

К сожалению, потому что я использую легкую тему (у меня есть android:theme="@android:style/Theme.Light" в моем <application> ), элементы списка отображаются с белым текстом, что делает их нечитаемыми.

Однако при использовании android:entries для указания статического списка элементов элементы отображаются правильно, с черным цветом текста.

Что я делаю не так? Как заставить динамический адаптер использовать стандартный макет, но работать с легкой темой?

Пожалуйста, поправьте меня, если я ошибаюсь.

Вы, по крайней мере, ошибаетесь. Он использует com.android.internal.R.layout.simple_list_item_1 . Хотя это почти идентично android.R.layout.simple_list_item_1 , оно может быть разным.

Кроме того, никогда не используйте getApplicationContext() . Просто используйте свою Activity как Context . Посмотрите, поможет ли это.