Android 安卓NoTitleBar遇见的问题java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (o

    关于Android 里面怎么样隐藏标题栏,有三种方法.这里介绍隐藏标题栏较为容易遇到的一个问题

10-17 17:18:31.704 18565-18565/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   Process: com.test.administrator.testapp, PID: 18565
                                                   java.lang.RuntimeException: Unable to start activity ComponentInfo{com.test.administrator.testapp/com.test.administrator.testapp.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2200)
                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2249)
                                                       at android.app.ActivityThread.access$800(ActivityThread.java:141)
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1212)
                                                       at android.os.Handler.dispatchMessage(Handler.java:102)
                                                       at android.os.Looper.loop(Looper.java:136)
                                                       at android.app.ActivityThread.main(ActivityThread.java:5052)
                                                       at java.lang.reflect.Method.invokeNative(Native Method)
                                                       at java.lang.reflect.Method.invoke(Method.java:515)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
                                                       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.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:340)
                                                       at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:309)
                                                       at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:273)
                                                       at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:136)
                                                       at com.test.administrator.testapp.MainActivity.onCreate(MainActivity.java:30)
                                                       at android.app.Activity.performCreate(Activity.java:5242)
                                                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
                                                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2164)
                                                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2249) 
                                                       at android.app.ActivityThread.access$800(ActivityThread.java:141) 
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1212) 
                                                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                       at android.os.Looper.loop(Looper.java:136) 
                                                       at android.app.ActivityThread.main(ActivityThread.java:5052) 
                                                       at java.lang.reflect.Method.invokeNative(Native Method) 
                                                       at java.lang.reflect.Method.invoke(Method.java:515) 
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796) 
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612) 
                                                       at dalvik.system.NativeStart.main(Native Method) 

      这个问题怎么由来的呢,主要是因为,你的本来的Activity继承的类不对,

public class MainActivity extends AppCompatActivity 


你是这样就继承的,如果这样集成 就会报上述错误,这个错误在自己敲Demo的时候特别容易犯,那么,怎么样避免呢?

如果你的Activity集成Activity这个类的话 就可以避免这个错误,

public class MainActivity extends Activity 


当我们敲demo的时候 ,很多时候 你新建的项目就会出现集成AppCompatActivity这个类.这样就极容易出现上述错误,自己还找不出来原因.

猜你喜欢

转载自blog.csdn.net/chenshuaiforwork/article/details/52840261