我在整个应用程序中使用工具栏。所以我已经将我的应用程序主题设置为 Theme.AppCompat.Light.NoActionBar 但是我需要在我的应用程序的一部分中显示警告对话框。当我尝试显示警告对话框时,我收到有关 Theme.Appcompat
的运行时错误我的manifest.xml文件
<application
android:allowBackup="true"
android:icon="@drawable/app_icon2"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
>
<activity
android:name="com.project.project.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.project.project.StActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:label="@string/app_name">
<intent-filter >
<action android:name="android.intent.action.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
我该怎么办? 谢谢你的帮助
答案 0 :(得分:1)
如果没有看到实际创建Dialog
的代码,很难说,但我的猜测是你要么:
Activity
时未使用Context
作为Dialog
。 Activity
上下文包含主题;如果您尝试使用Application
,则无法获得正确的主题。Dialog
主题设置为不会从Theme.AppCompat
继承的内容(使用构造函数setStyle()
或ContextThemeWrapper
)。无论哪种方式,Dialog
都无法获得Theme.AppCompat
提供的必需属性。