Используйте андроид. R.layout.simple_list_item_1 с легкой темой

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

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

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 для определения статического списка объектов объекты появляются правильно с черным цветом текста.

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

10
задан skaffman 25 June 2010 в 13:19
поделиться

1 ответ

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

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

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

15
ответ дан 3 December 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: