使用light.R.layout.simple_list_item_1使用浅色主题

我了解到,当使用ListView的 Android:条目时,它使用android.R.layout.simple_list_item_1作为列表项的布局,并将android.R.id.text1作为该布局中的TextView的ID.如果我错了,请纠正我

知道这一点,我想创建自己的适配器,但使用相同的布局资源,以提供与平台的UI一致性.因此,我尝试了以下内容:

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

不幸的是,由于我使用的是一个浅色主题(我的< application>)中有android:theme =“@ android:style / Theme.Light”),列表项以白色文字显示,使其不可读.

但是,当使用android:条目指定项目的静态列表时,项目显示正确,黑色文本颜色.

我究竟做错了什么?如何使动态适配器使用标准布局,但使用轻型主题?

解决方法

Please,correct me if I’m wrong.

你至少是错误的.它使用com.android.internal.R.layout.simple_list_item_1.虽然这几乎与android.R.layout.simple_list_item_1相同,但它可能主题不同.

另外,永远不要使用getApplicationContext().只需使用您的Activity作为上下文.看看是否有帮助.

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...