• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 报错:You need to use a Theme.AppCompat theme (or descendant) with this activity.,theme.appcompat报错

报错:You need to use a Theme.AppCompat theme (or descendant) with this activity.,theme.appcompat报错

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了报错:You need to use a Theme.AppCompat theme (or descendant) with this activity.,theme.appcompat报错等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

报错:You need to use a Theme.AppCompat theme (or descendant) with this activity.,theme.appcompat报错


学习 Activity 生命周期时希望通过 Dialog 主题测试 onPause() 和 onStop() 的区别。

点击按钮跳转 Activity 时报错:

E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.example.activitylifecycletest, PID: 2920
                  java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.activitylifecycletest/com.example.activitylifecycletest.DialogActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
                      at android.app.ActivityThread.-wrap12(ActivityThread.java)
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460)
                      at android.os.Handler.dispatchMessage(Handler.java:102)
                      at android.os.Looper.loop(Looper.java:154)
                      at android.app.ActivityThread.main(ActivityThread.java:6077)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
                   Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
                      at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:347)
                      at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:316)
                      at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:281)
                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
                      at com.example.activitylifecycletest.DialogActivity.onCreate(DialogActivity.java:11)
                      at android.app.Activity.performCreate(Activity.java:6664)
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707) 
                      at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:154) 
                      at android.app.ActivityThread.main(ActivityThread.java:6077) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)

找到最有用的一句话,说明所使用的 theme 和当前 Activity 不匹配。

You need to use a Theme.AppCompat theme (or descendant) with this activity.

AndroidManifest.xml 中 activity 配置如下:

1 <activity
2     android:name=".DialogActivity"
3     android:theme="@android:style/Theme.Dialog">
4 </activity>

根据报错提示改为 AppCompat 主题即可:

1 <activity
2     android:name=".DialogActivity"
3     android:theme="@style/Theme.AppCompat.Dialog">
4 </activity>

查看 java 代码后发现我的 Activity 继承 AppCompatActivity 类。在 Android Studio 中创建 Activity 时,如果勾选了 Backwards Compatibility(AppCompat) 选项,所创建的 Activity 会继承 AppCompatActivity 而不是 Activity,此时需要使用配套的APPCompat主题。

java 代码:

 1 import android.support.v7.app.AppCompatActivity;
 2 import android.os.Bundle;
 3 
 4 public class DialogActivity extends AppCompatActivity {
 5 
 6     @Override
 7     protected void onCreate(Bundle savedInstanceState) {
 8         super.onCreate(savedInstanceState);
 9         setContentView(R.layout.activity_dialog);
10     }
11 
12 }

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 报错:You need to use a Theme.AppCompat theme (or descendant) with this activity.,theme.appcompat报错

相关文章

  • 2017-05-26Android Studio插件,androidstudio插件
  • 2017-05-26【Android基础】Activity启动模式以及Intent Flags 与 栈 的全面解析
  • 2017-05-26GreenDao 数据库:使用Raw文件夹下的数据库文件以及数据库升级,greendaoraw
  • 2017-05-26android studio快捷键,androidstudio
  • 2017-05-26Android开发:14个解决实际问题的代码片段
  • 2017-05-26android 浅谈Aidl 通讯机制,androidaidl
  • 2017-05-26Android实战技巧之四十九:Usb通信之USB Host
  • 2017-05-26Android端 配置极光推送
  • 2017-05-26散列表的数学分析(精解)--通过链表法解决碰撞,数学分析精解
  • 2017-05-26历代安卓版本回顾(使用者角度+开发者角度)长期更新!!!,安卓开发者

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 通过redhat crash utility从ramdump中获取ftrace log
    • Android中AsyncTask的使用详解
    • Android(Linux)实时监测串口数据,android实时监测
    • MHA故障切换和在线切换的代码解析
    • Kotlin的扩展函数:扩展Android框架(KAD 08),kotlinandroid
    • 我的android学习经历2,android学习经历2
    • 用Android Studio 运行ndk 程序
    • 热修复-Tinker,修复-tinker
    • 27个漂亮的移动端注册/登录界面设计作品,27登录界面设计作品
    • java 接口的作用和好处,java接口好处

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有