IllegalStateException: You need to use a Theme.AppCompat Theme (or descendant) with this activity!
这个异常,很多同学遇到过吧!
缘起
客户那边遇到这个问题


然后让他修改主题,他说他不想改!有没有别的方法

对于这种问题,主题的,在源码里可以看到有ThemeUtil去检查的。
我们默认创建的Activity继承自AppCompatActivity,并且默认主题是Theme.AppCompat.XX的主题,我猜测他是使用了一个原来的主题。
对于这样的问题,同学们想到多少个解决方法呢?
缘故

我猜测是这个原因了,跟我们系统没有半毛钱关系。
其实最简单的证明方式则是你跑在同版本的模拟器上呀,或者同版本的手机上。
缘灭

这种要么降低温度,要么修改温度计的事情方法是差不多的。
你坚持使用你的自定义主题,那么让你的主题继承自Theme.AppCompat.XXX。
如果你坚持使用你的主题,又不想继承自Theme.AppCompat.XXX,你可以让你的Activity不要继承AppCompatAcitivity,继承Activity。
当然,你可以放弃你的主题更好,那就使用默认的AppCompat.XXX的主题或者子主题吧。