Android setTheme()之后带有setSingleChoiceItems的AlertDialog样式错误

Android setTheme()之后带有setSingleChoiceItems的AlertDialog样式错误,android,android-alertdialog,android-theme,Android,Android Alertdialog,Android Theme,我正在使用以下代码更改应用程序主题: MainActivity.java: setTheme(R.style.AppBlackTheme); super.onCreate(savedInstanceState); setContentView(R.layout.main); styles.xml: <style name="AppTheme" parent="android:Theme.Light" /> <style name="AppBlackTheme" parent=

我正在使用以下代码更改应用程序主题:

MainActivity.java:

setTheme(R.style.AppBlackTheme);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
styles.xml:

<style name="AppTheme" parent="android:Theme.Light" />
<style name="AppBlackTheme" parent="android:Theme.Black" />
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="AppTheme" parent="android:Theme.Light">
        <item name="alert_text_color">@android:color/black</item>
    </style>
    <style name="AppBlackTheme" parent="android:Theme.Black">
        <item name="alert_text_color">@android:color/black</item>
    </style>
</resources>
<resources>
    <style name="AppTheme" parent="android:Theme.Holo.Light" >
        <item name="alert_text_color">@android:color/black</item>
    </style>
    <style name="AppBlackTheme" parent="android:Theme.Holo" >
        <item name="alert_text_color">@android:color/white</item>
    </style>
</resources>

但在安卓2.1中,此警报对话框显示为白色背景和白色文本。如何修复它?

请尝试:
setInverseBackgroundForced(true)
您正在使用默认的Android主题。这意味着操作系统将决定颜色。如果你自己设置颜色,可能会妨碍标准主题

尝试自定义或使用自己定义的主题。有关更多信息,请参阅以下主题

现在我要做的是:

values/styles.xml:

<style name="AppTheme" parent="android:Theme.Light" />
<style name="AppBlackTheme" parent="android:Theme.Black" />
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="AppTheme" parent="android:Theme.Light">
        <item name="alert_text_color">@android:color/black</item>
    </style>
    <style name="AppBlackTheme" parent="android:Theme.Black">
        <item name="alert_text_color">@android:color/black</item>
    </style>
</resources>
<resources>
    <style name="AppTheme" parent="android:Theme.Holo.Light" >
        <item name="alert_text_color">@android:color/black</item>
    </style>
    <style name="AppBlackTheme" parent="android:Theme.Holo" >
        <item name="alert_text_color">@android:color/white</item>
    </style>
</resources>

@android:彩色/黑色
@android:彩色/黑色
values-v11/styles.xml:

<style name="AppTheme" parent="android:Theme.Light" />
<style name="AppBlackTheme" parent="android:Theme.Black" />
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="AppTheme" parent="android:Theme.Light">
        <item name="alert_text_color">@android:color/black</item>
    </style>
    <style name="AppBlackTheme" parent="android:Theme.Black">
        <item name="alert_text_color">@android:color/black</item>
    </style>
</resources>
<resources>
    <style name="AppTheme" parent="android:Theme.Holo.Light" >
        <item name="alert_text_color">@android:color/black</item>
    </style>
    <style name="AppBlackTheme" parent="android:Theme.Holo" >
        <item name="alert_text_color">@android:color/white</item>
    </style>
</resources>

@android:彩色/黑色
@android:彩色/白色
值/attrs.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="customAttrs">
        <attr name="alert_text_color" format="reference" />
    </declare-styleable>
</resources>

在布局中(模板列表项):



很抱歉,这没有帮助(没有更改)。我尝试过这个,但没有帮助。。。android:textColor不会更改警报列表视图项的文本。您是否更改了R.layout.templates\u list\u项?那里的文字是什么颜色的?不,我没改。但如何改变呢?R.layout.templates\u list\u项没有任何颜色指示:。。。使用android:textColor=“@color/text\u color”作为文本视图我用我的解决方案添加答案。。。我希望这是正确的,我的理解是正确的。谢谢你的帮助!