Android App Compact主题错误

时间:2015-10-03 11:06:40

标签: android android-intent

你好,我在Android中创建这个项目时,我从主要活动启动对话框活动。

这些是相关文件: 主要活动:http://pastebin.com/xyDbBSj4 对话活动:http://pastebin.com/f6jGC1CH

我在logcat上有这个错误:

FATAL EXCEPTION: main
Process: com.android4dev.navigationview, PID: 30736
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android4dev.navigationview/com.android4dev.navigationview.ui.activities.DialogsActivity}:
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
at android.app.ActivityThread.access$800(ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImplBase.onCreate(AppCompatDelegateImplBase.java:122)
at android.support.v7.app.AppCompatDelegateImplV7.onCreate(AppCompatDelegateImplV7.java:146)
at android.support.v7.app.AppCompatActivity.onCreate(AppCompatActivity.java:59)
at com.android4dev.navigationview.ui.activities.BaseActivity.onCreate(BaseActivity.java:36)
at com.android4dev.navigationview.ui.activities.DialogsActivity.onCreate(DialogsActivity.java:43)

1 个答案:

答案 0 :(得分:0)

1-您应该声明您的应用程序将使用Android Manifest中的Theme.AppCompat进行样式化。 像这样:

<activity
      android:name=".my.packageactivity.MyOwnActivity"
      android:label="@string/app_name"
      android:theme="@style/Theme.AppCompat"/>

2-或者可能声明整个应用程序将使用AppCompat进行风格化。

<application
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.AppCompat">

3-如果您想稍后设置自己的样式,则必须创建style.xml。

3.1-使用整个应用程序:

<application
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/MyOwnStyle">

3.2-使用活动&gt;

<activity
          android:name=".my.packageactivity.MyOwnActivity"
          android:label="@string/app_name"
          android:theme="@style/MyOwnStyle"/>

然后在新的style.xml文件中将父设置为Theme.AppCompat:

<resources>
    <style name="MyOwnStyle" parent="Theme.AppCompat">
       [...]
    </style>
</resources>