先附上解决办法:
Android学习之遇到的第一个错误:java.lang.IllegalStateException: You need to use a Theme.AppCompat theme
https://blog.csdn.net/u013694478/article/details/79468952
代码描述
案例来自郭霖的《第一行代码——Android(第2版)》第二章第四节的“活动的生命周期”。
要实现的功能是在MainActivity上放置两个按钮:Start NormalActivity和Start DialogActivity,分别跳转到活动NormalActivity、活动DialogActivity。其中:NormalActivity界面只是使用TextView控件来显示一段文字:This is a normal activity。而DialogActivity则以dialog主题来显示文字:This is a dialog activity。
(如果运行正常的话,效果应该如下)
问题描述
但是,当点击按钮Start DialogActivity时却无法跳转活动DialogActivity,而是直接提示“Sorry, XXX has stopped”。
检查了很多遍,参考网上的大多数方法,都解决不了(比如:拼写错误、大小写错误、创建项目时选择与模拟器安卓系统版本对应的API版本、检查代码逻辑、重启或rebuild Android Studio等等)最后仔细检查了控制台的输出,发现了一段错误。
解决方法
最终参考这篇文章解决(文章开头的)https://blog.csdn.net/u013694478/article/details/79468952
即:在AndroidManifest.xml中,
把
<activity android:name=".DialogActivity"
android:theme="@style/Theme.Dialog"></activity>
中的@style/Theme.Dialog改为@style/Theme.AppCompat.Dialog即可。
即:
<activity android:name=".DialogActivity"
android:theme="@style/Theme.AppCompat.Dialog"></activity>