I have learned that when using android:entries
with a ListView
, it uses android.R.layout.simple_list_item_1
as the layout for a list item and android.R.id.text1
as the ID of the TextView inside that layout. Please, correct me if I'm wrong.
Knowing this, I wanted to create my own adapter but use the same layout resources, in order to provide UI consistency with the platform. Thus, I tried the following:
mAdapter = new SimpleCursorAdapter(
getApplicationContext(),
android.R.layout.simple_list_item_1,
mSites,
new String[] { SitesDatabase.KEY_SITE },
new int[] { android.R.id.text1 }
);
Unfortunately, because I am using a light theme (I have android:theme="@android:style/Theme.Light"
in my <application>
), the list items appear with white text, making them unreadable.
However, when using android:entries
to specify a static list of items, the items appear correctly, with black text color.
What am I doing wrong? How can I make my dynamic adapter use the standard layout but work with a light theme?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…