Android学习之遇到的第一个错误:java.lang.IllegalStateException: You need to use a Theme.AppCompat theme

 最近刚开始接触Android,觉得比想象中的有意思多。我觉得“兴趣”这一点很重要,有兴趣才可以坚持学习下去。

       在CSDN上关注了郭霖老师,他写的博客思路很清晰比较容易理解,结合他的Android学习教程《第一行Android代码》就这样开始了Android的学习。

       首先得知道Android的四大组件:活动(Activity)服务(Service)广播接收器(BroadcastReceiver)和内容提示器(Content Provider),其中活动是所有Android应用程序的门面,凡是在应用中看到的东西,都是放在活动中的。

     在做书上活动的demo的时候遇到一个问题,代码是完全按照书上敲得,却运行出错,一出错难免会感到比较慌张。这时会查看错误日志是多么的重要啊,控制台哐哐一堆信息发给你,需要我们学会筛选有用的信息,

 

查看报错信息如下:


 

起因:

想设置一个对话框式的活动,在AndroidMainfest.xml的<activity>标签的配置如下:

<activity android:name=".DialogActivity"

    android:theme="@android:style/Theme.Dialog"/>

 

原因:

从错误提示中提到Theme.AppCompat theme,因为我们的activity一定是继承了兼容包中的类,

AndroidStudio帮我们创建的activity继承了ActionBarActivity,它来自android.support.v7.app.ActionBarActivity。

所以就要使用与其配合的AppCompat的theme才行。

 

解决方法有两种:

1: 将DialogActivity 改为直接继承Activity

2: 根据提示来使用AppCompat的theme

<activity android:name=".DialogActivity"

android:theme="@style/Theme.AppCompat.Dialog" />

重新运行,出现了理想的对话框式的活动。


问题不大,仅仅是一个小小的问题,但是重要的是分析问题和解决问题的过程,小问题解决了,以后遇到的大问题就可以分解成小问题,然后逐个解决。

      哈哈哈,虽然长得不好看,但是我想的美呀!! 我认为其实本没有那么难解决的问题,只要找对了方法就好了。

       Android学习未完待续,最后引用书中的一句话“在Android的世界里以一只萌级小菜鸟的身份起飞,在后面的路途中不断的成长。

猜你喜欢

转载自blog.csdn.net/u013694478/article/details/79468952
今日推荐