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

来源:互联网 发布:与sqlserver建立连接 编辑:程序博客网 时间:2024/04/30 07:50

 错误提示:07-01 00:42:39.109: E/AndroidRuntime(17157): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android_007_dialogtest/com.example.android_007_dialogtest.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
问题出现的原因:
想要设置APP的显示规则,即设置activity全屏显示,代码如下:

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <activity  
  2.     android:name=".MainActivity"  
  3.     android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  
  4.     android:label="@string/app_name" >  


原因:
           从错误提示中提到Theme.AppCompat theme,这是因为我们的activity继承了兼容包中的类,比如我这里就无意中继承了ActionBarActivity,它来自android.support.v7.app.ActionBarActivity。所以就要使用与其配合的AppCompat的theme才行。

解决:

解决方法1.将MainActivity.java中的主类继承方式修改,即将继承自ActionBarActivity类,修改直接继承Activity。则问题可解,如下图所示,修改此处内容为Activity

 


解决方法2.根据提示来配合使用AppCompat中的theme,如下:

[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. <activity  
  2.     android:name=".MainActivity"  
  3.     android:theme="@style/Theme.AppCompat.Light.NoActionBar"  
  4.     android:label="@string/app_name" >  


 

以上就是解决You need to use a Theme.AppCompat theme (or descendant) with this activity.的两种方法

1 0
原创粉丝点击