您需要使用 Theme.AppCompat 主题错误而不更改代码
You need to use a Theme.AppCompat theme error without changing code
我有一个奇怪的问题,我没有更改 MainActivity 的代码,但仍然得到 运行 时间异常:
You need to use a Theme.AppCompat theme (or descendant) with this
activity.
我的 MainActivity onCreate:
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
instance = this;
instance.setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
initializeSystem();
initializeUI();
test();
}
我使用的样式:
<style name="AppTheme" speParent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorAccent">@color/dialog_progress_foreground</item>
<item name="android:popupMenuStyle">@style/menuStyle</item>
</style>
<style name="AppTheme.Splashscreen" speParent="AppTheme">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:windowBackground">@drawable/splashscreen_drawable</item>
</style>
现在,奇怪的部分。我正在使用版本控制系统,所以我尝试了在此之前的提交。它有效并且不会崩溃。
该提交在 MainActivity 的测试函数中显示了一些对话框。他们在最后一次提交中被注释掉了。
当我 return 它编码(显示对话框)时,代码仍然崩溃。
当然我改了一些其他的类,但是没有在MainActivity中不用手动激活,所以不应该这样。
我真的很茫然。我想我可以回滚我的提交,但我非常不喜欢不了解发生了什么。
既然我使用了正确的样式,它应该可以工作吗?
看起来你在样式标签上打错了父 属性
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
</style>
和
<style name="AppTheme.Splashscreen" parent="AppTheme">
...
</style>
我有一个奇怪的问题,我没有更改 MainActivity 的代码,但仍然得到 运行 时间异常:
You need to use a Theme.AppCompat theme (or descendant) with this activity.
我的 MainActivity onCreate:
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
instance = this;
instance.setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
initializeSystem();
initializeUI();
test();
}
我使用的样式:
<style name="AppTheme" speParent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorAccent">@color/dialog_progress_foreground</item>
<item name="android:popupMenuStyle">@style/menuStyle</item>
</style>
<style name="AppTheme.Splashscreen" speParent="AppTheme">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
<item name="android:windowBackground">@drawable/splashscreen_drawable</item>
</style>
现在,奇怪的部分。我正在使用版本控制系统,所以我尝试了在此之前的提交。它有效并且不会崩溃。 该提交在 MainActivity 的测试函数中显示了一些对话框。他们在最后一次提交中被注释掉了。 当我 return 它编码(显示对话框)时,代码仍然崩溃。
当然我改了一些其他的类,但是没有在MainActivity中不用手动激活,所以不应该这样。
我真的很茫然。我想我可以回滚我的提交,但我非常不喜欢不了解发生了什么。
既然我使用了正确的样式,它应该可以工作吗?
看起来你在样式标签上打错了父 属性
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
</style>
和
<style name="AppTheme.Splashscreen" parent="AppTheme">
...
</style>