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

标签: android 编译错误
304人阅读 评论(0) 收藏 举报
分类:

问题

今天在写ZxingAndroid项目时,遇到这样一个问题,在项目的AndroidManifest.xml文件,添加一个MainActivity(继承自AppCompatActivity)

<activity
        android:name=".activity.MainActivity"
        android:label="@string/app_name">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>

运行app的时候,报错如下:

Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

这里写图片描述

分析:

以前也遇到这样的问题,成功解决了。当时是因为使用AppCompatActivity,使用的了Theme,导致的。应该使用 Theme.AppCompat。

而上面的错误,仔细检查了,并没有使用Theme,为什么还是报错?
后来在这里找到了原因:

需要明确声明使用Theme.AppCompat的主题,

解决方法:

第一种:

继承AppCompatActivity,主题必须明确使用Theme.AppCompat,不能使用Theme

在AndroidManifest.xml中添加android:theme="@style/Theme.AppCompat.Light"

更改后的代码如下:

<activity
        android:name=".activity.MainActivity"
        android:theme="@style/AppTheme"
        android:label="@string/app_name">
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>

继承Activity,主题使用Theme

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

解决错误:You need to use a Theme.AppCompat theme (or descendant) with this activity.

查看评论

我的Android进阶之旅------>解决错误:You need to use a Theme.AppCompat theme (or descendant) with this activity.

1、错误描述今天,想实现Activity不显示标题栏的效果,在项目的AndroidManifest.xml文件,对相应的Activity添加属性 android:theme="@android:sty...
  • qq446282412
  • qq446282412
  • 2016-05-06 21:27:25
  • 30199

you need to use a theme.appcompat theme (or descendant) with this activity 解决办法

当你想隐藏 Androidmanifest.xml android:n
  • xuqingfeng77
  • xuqingfeng77
  • 2015-05-28 11:01:38
  • 7958

Android--You need to use a Theme.AppCompat theme (or descendant) with this activity解决方案

一:错误场景 自定义一个Activity的theme;而这个Activity继承自v7包中的AppCompatActivity或者ActionBarActivity:在Activity中指定相应的t...
  • tiem_erhu
  • tiem_erhu
  • 2016-06-13 22:04:38
  • 527

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

今天继续读郭少的>,在研究2.4.4体验活动的生命周期,根据书上代码重新敲了一遍,在点击Start DialoyActivity按钮时,程序后台报错,如下: /AndroidRuntime: Shut...
  • zhangshufei8001
  • zhangshufei8001
  • 2017-03-28 11:43:35
  • 1367

【我的Android进阶之旅】解决bug:You need to use a Theme.AppCompat theme (or descendant) with this activity.

前言今天用Android Studio 生成Activity的时候,默认继承AppCompatActivity ,而在AndroidManifest.xml我对该Activity设置了一个主题,然后运...
  • qq446282412
  • qq446282412
  • 2016-10-17 16:21:08
  • 2554

You need to use a Theme.AppCompat theme (or descendant) with this activity.异常处理其一

以下为错误日志: java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPer...
  • lei_notes
  • lei_notes
  • 2017-03-13 17:21:54
  • 1077

使用ActionBar,调整Theme时遇到You need to use a Theme.AppCompat theme (or descendant) with this activity解决方法

今天在写一个ActionBar时,想把标题颜色改成白色,以匹配app的风格,默认是黑色的:         这种黑色的标题栏,原因是因为清单文件AndroidMani...
  • cyp331203
  • cyp331203
  • 2015-04-06 10:19:48
  • 2341

Android问题集锦之二十八:You need to use a Theme.AppCompat theme (or descendant) with this activity.

错误描述为:java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with ...
  • lincyang
  • lincyang
  • 2015-01-13 17:49:11
  • 127142

使用AlertDialog报错 You need to use a Theme.AppCompat theme (or descendant) with this activity.之解决

以前由于继承自ActionBarActivity用得好好的,现在直接继承Activity,使用AlertDialog,则会报以下这个错误:java.lang.IllegalStateException...
  • metababy
  • metababy
  • 2016-04-21 15:35:47
  • 4995

关于“you need to use a theme.appcompat theme (or descendant) with this activity”错误

在写一个应用的界面的时候,我xiangb
  • u012336923
  • u012336923
  • 2014-09-23 12:59:43
  • 4264
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 115万+
    积分: 1万+
    排名: 1528
    有问题,联系我
    博客专栏
    最新评论