【Android开发经验】关于主题引用混乱导致程序运行崩溃的问题
来源:互联网 发布:stc89c52rc单片机介绍 编辑:程序博客网 时间:2024/06/05 21:49
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2308)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$600(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1342)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5315)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:151)
at android.support.v7.app.ActionBarActivityDelegateBase.onCreate(ActionBarActivityDelegateBase.java:138)
at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:123)
at easycarinsurance.com.autoinsuranceandoridclient.BaseActivity.onCreate(BaseActivity.java:34)
at easycarinsurance.com.autoinsuranceandoridclient.FirstActivity.onCreate(FirstActivity.java:32)
at android.app.Activity.performCreate(Activity.java:5232)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1081)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2272)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$600(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1342)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5315)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
03-26 17:15:47.388 12953-12953/easycarinsurance.com.autoinsuranceandoridclient I/Process﹕ Sending signal. PID: 12953 SIG: 9
如上是运行后的报错信息,其中关键是一句话是:You need to use a Theme.AppCompat theme (or descendant) with this activity。
啥意思呢:你需要为这个Activity使用一个Theme.AppCompat 的主题 或者在 继承这个Theme.AppCompat主题的descendant 子主题上使用。
我们来分析下出现这样的原因:
1. 项目工程里面没有使用这样的Theme.AppCompat主题,我们可以在values/styles.xml里面加上。
2. 项目工程里values/styles.xml使用了,但是values-v11/styles.xml、values-v14/styles.xml、values-v21/styles.xml不同api平台下适配的主题里面没有使用这样的主题,或者说 没有使用一致的主题,所以要改成一致的。
3. 项目工程各个平台适配的样式都使用了一致的主题,还出现这样的错误,那就要检查运行时程序所引用的主题名字是不是我们values里面的定义的主题,还是变成build.gradle下的dependencies进来的别的组件项目里的别人的主题,因为往往如果使用的主题名字命名为:AppTheme、BaseAppTheme等常用的名称程序容易首先的引用是别的组件库的主题。所以建议在使用主题名字的时候尽量使用只属于这个项目的唯一的主题名称。
关于第三种原因,我也是百思不得其解才发现的,当我在AndroidMenifest里面 跟踪android:theme="@style/AppTheme"主题引用的时候才发现,妈蛋竟然除了项目本身对应的主题,还有第三方的项目库的也是用“AppTheme”这个名字,于是我大胆的把自己项目的所有引用该主题的地方重新命名。果然clean project-->rebuild project--->run后,终于松了一口屁,运行成功。
- 【Android开发经验】关于主题引用混乱导致程序运行崩溃的问题
- 关于程序崩溃的问题总结【经验】
- 【iOS开发】静态库导致的运行时崩溃问题
- android 异步弹出窗口 导致程序崩溃的问题
- findContours导致MFC程序崩溃的问题
- WriteFile导致程序崩溃的问题
- 关于使用eclipse开发android程序不能运行的问题。
- android NDK开发未包含javah生成的头文件导致程序运行失败问题
- 【MFC】关于AfxGetMainWnd导致VS2010运行结果崩溃的解法
- 遇到问题---java---myeclipse中maven项目引用另一个导致的resource文件混乱的问题
- Xcode8的assets问题导致运行iOS8崩溃的解决方案
- Xcode8的assets问题导致运行iOS8崩溃的解决方案
- 关于在android webview上运行html5的开发经验
- 关于Android切换系统字体大小和字体样式导致App崩溃或者界面错乱的问题
- 【Android开发经验】我们要友好的告诉用户,程序要崩溃了
- 【Android开发经验】我们要友好的告诉用户,程序要崩溃了
- 【Android开发经验】我们要友好的告诉用户,程序要崩溃了
- 【Android开发经验】我们要友好的告诉用户,程序要崩溃了
- 开源免费天气预报接口API以及全国所有地区代码!!(国家气象局提供)
- YII中 增加 PHPMAILER扩展发邮件 php 邮件
- 使用AJAX的几种理由
- Flex设置toolTip样式
- gerrit客户端申请用户配置说明
- 【Android开发经验】关于主题引用混乱导致程序运行崩溃的问题
- Hummer TimeSeries DB Console 管理控制台
- arcgis for flex api version3.7 教程:2.通过地图服务的ID添加地图
- 编译原理 总结
- H264基本概念之 预测编码、变换编码和熵编码
- rstudio-server使用github版本控制
- Sublime Text3下,实现函数声明的跳转
- js 动态增加file实现多文件上传功能并显示路径
- 数据导入mongodb等数据简单框架实现