首先得知道Android的四大组件:活动(Activity)服务(Service)广播接收器(BroadcastReceiver)和内容提示器(Content Provider),其中活动是所有Android应用程序的门面,凡是在应用中看到的东西,都是放在活动中的。
查看报错信息如下:
起因:
想设置一个对话框式的活动,在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” />
重新运行,出现了理想的对话框式的活动。
问题不大,仅仅是一个小小的问题,但是重要的是分析问题和解决问题的过程,小问题解决了,以后遇到的大问题就可以分解成小问题,然后逐个解决。