Я узнал, что при использовании 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
для указания статического списка элементов элементы отображаются правильно, с черным цветом текста.
Что я делаю не так?Как я могу заставить мой динамический адаптер использовать стандартную компоновку, но работать с легкой темой?