gpt4 book ai didi

android - Material Alert Dialog,该组件的样式要求你的应用主题为 Theme.AppCompat

转载 作者:行者123 更新时间:2023-12-03 15:21:19 30 4
gpt4 key购买 nike

我正在尝试制作 MaterialAlertDialog 但无论如何我都会收到以下错误

 java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.AppCompat (or a descendant).
at com.google.android.material.internal.ThemeEnforcement.checkTheme(ThemeEnforcement.java:243)
at com.google.android.material.internal.ThemeEnforcement.checkAppCompatTheme(ThemeEnforcement.java:213)
at com.google.android.material.internal.ThemeEnforcement.checkCompatibleTheme(ThemeEnforcement.java:148)
at com.google.android.material.internal.ThemeEnforcement.obtainStyledAttributes(ThemeEnforcement.java:76)
at com.google.android.material.dialog.MaterialDialogs.getDialogBackgroundInsets(MaterialDialogs.java:60)
at com.google.android.material.dialog.MaterialAlertDialogBuilder.<init>(MaterialAlertDialogBuilder.java:117)
at com.google.android.material.dialog.MaterialAlertDialogBuilder.<init>(MaterialAlertDialogBuilder.java:103)
at com.adamm.quem.MainActivity$1.onItemClick(MainActivity.java:118)

我使用自定义主题作为我的 MainActivity 主题,它是 MaterialComponents 的父主题
<style name="MainMaterialTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>

将主题更改为 AppCompat 无济于事,也不是真正正确的做法
我正在关注 Material IO 解释的实现 https://material.io/develop/android/components/dialog/

我的代码:
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(getApplicationContext())
.setTitle("Title")
.setMessage("Message")
builder.show();

如何解决这个问题?

最佳答案

你传入 getApplicationContext()并且应用程序上下文没有您的主题。将您的 Activity 作为上下文传递:

AlertDialog.Builder builder = new MaterialAlertDialogBuilder(MainActivity.this)
.setTitle("Title")
.setMessage("Message")
builder.show();

关于android - Material Alert Dialog,该组件的样式要求你的应用主题为 Theme.AppCompat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61108374/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com