【发布时间】:2016-02-03 07:13:05
【问题描述】:
我的简单应用程序出现问题。我正在关注android网站上的教程。有一部分他们使用 Holo Light 作为主题。但我的问题是当我选择这个主题时出现错误。我还查看了这个topic 并尝试了一些方法,但仍然遇到同样的错误。
这是我的错误:
java.lang.IllegalArgumentException: 你需要使用 Theme.AppCompat 设计库的主题(或后代)。 在 android.support.design.widget.ThemeUtils.checkAppCompatTheme(ThemeUtils.java:34) 在 android.support.design.widget.CoordinatorLayout.(CoordinatorLayout.java:178) 在 android.support.design.widget.CoordinatorLayout.(CoordinatorLayout.java:172) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:422) 在 org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:458) 在 org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:170) 在 org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:103) 在 com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadView(LayoutlibCallbackImpl.java:168) 在 android.view.BridgeInflater.loadCustomView(BridgeInflater.java:247) 在 android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:171) 在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:492) 在 android.view.LayoutInflater.inflate(LayoutInflater.java:394) 在 com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:223) 在 com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:426) 在 com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:350) 在 com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:510) 在 com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:498) 在 com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:888) 在 com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:498) 在 com.android.tools.idea.rendering.RenderTask.access$600(RenderTask.java:72) 在 com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:610) 在 com.android.tools.idea.rendering.RenderTask$3.call(RenderTask.java:607) 在 com.android.tools.idea.rendering.RenderService.runRenderAction(RenderService.java:362) 在 com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:607) 在 com.android.tools.idea.rendering.RenderTask.render(RenderTask.java:629) 在 com.intellij.android.designer.designSurface.AndroidDesignerEditorPanel$6.run(AndroidDesignerEditorPanel.java:480) 在 com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320) 在 com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310) 在 com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254) 在 com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269) 在 com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227) 在 com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217) 在 com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238) 在 com.intellij.util.Alarm$Request$1.run(Alarm.java:351) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745)
这是我的文件:
styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.flax.myfirstapp">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MyActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName=".MyActivity"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.flax.myfirstapp.MyActivity" />
</activity>
</application>
</manifest>
MyActivity.java
package com.flax.myfirstapp;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.content.Intent;
import android.widget.EditText;
public class MyActivity extends AppCompatActivity {
......
你能帮我解决这个问题吗?我是 Android 开发的新手。从昨天开始我就被这个错误困住了。 :(
这是我的文件结构的图像以及错误:
【问题讨论】:
-
安卓工作室的版本?
-
我使用的是 Android Studio 1.5.1