修复styles.xml中的错误以生成R.java:找不到资源名称'Theme.AppCompat.Light'
Posted
技术标签:
【中文标题】修复styles.xml中的错误以生成R.java:找不到资源名称\'Theme.AppCompat.Light\'【英文标题】:Fixing Error in styles.xml to generate R.java : No resource found name 'Theme.AppCompat.Light'修复styles.xml中的错误以生成R.java:找不到资源名称'Theme.AppCompat.Light' 【发布时间】:2014-04-11 21:06:19 【问题描述】:我是 android 新手,正在尝试运行我的第一个程序。但是,根据我在 Internet 上的搜索,我认为我无法导入 mypackage.R
,因为我的 style.xml 文件中的错误尚未生成 r.java
。我四处寻找试图找出解决这些问题的方法,但找不到有效的修复方法。 styles.xml
中的错误是
error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light'
有谁知道如何解决这个问题?
![style.txt 中的错误][1]
这是我正在使用的代码:
package com.example.test;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends Activity
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
@Override
public boolean onCreateOptionsMenu(Menu menu)
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
更新: 这是styles.xml:
<resources>
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>
</resources>
更新 2: 这是AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.test.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>
</application>
</manifest>
【问题讨论】:
问题出在您的styles.xml中,请将其添加到您的帖子中。 更新添加styles.xml代码 【参考方案1】:由于您在主题中使用Theme.AppCompat.Light
,因此您必须将appCompat
包含到您的项目中。
文件->导入 (android-sdk\extras\android\support\v7)。选择“appcompat”
项目-> 属性->Android。在节库中
“添加”并选择“appCompat”
应该可以。
【讨论】:
它说选择一个导入源,我尝试将过滤器文本输入为 android-sdk\extras\android\support\v7 和 appCombat,但没有出现任何结果。我应该选择什么? 哦,你必须去你的 sdk 文件夹和位于extras/android/support/v7/appcompat
下的 appcompat
文件夹 ..【参考方案2】:
您正在尝试使用 Theme.AppCompat.Light
主题,这是一个库项目。您必须将此库项目引用到您的项目中。
现在,首先,检查您是否已安装此库项目,如下所示...
转到Window-->Android SDK Manager然后会出现一个名为Android SDK Manager的窗口,如下所示。
如果未安装Android Support Library
,则安装它。您可以从下面的 Android 开发者网站查看有关 Android Support Library
设置的更多信息。
Support Library Setup
Android Support Library
设置完成后,从此路径将库引用到您的项目...
android-sdk/extras/android/support/v7/appcompat
要参考,请按以下步骤操作:
-
文件->导入 (android-sdk\extras\android\support\v7)。选择“appcompat”
项目-> 属性->Android。在部分库中“添加”并选择“appCompat”
现在,清理并构建您的项目并运行它。我想在所有这些之后,你的问题就会得到解决。
【讨论】:
刚刚创建了另一个错误-error: Error retrieving parent for item: No resource found that matches the given name 'Theme.Light'.
在哪里可以找到 LogCat? (在 Eclipse 中)
现在 theme.light 没有错误了!我不确定我做了什么,我只是想在项目中包含 appcombat,然后我检查了一下,styles.xml 中没有错误
但是,values-v11 和 values-v14 中的styles.xml
s 中仍然存在错误
@ravensgo...查看我更新的答案...忘记之前的答案。【参考方案3】:
确保您正确关闭了<resources>
标签并在您的styles.xml 底部添加:
</resources>
根据您发布的代码 sn-p 不存在,但需要
编辑:缺少的资源标签只是一个有问题的复制粘贴错误,所以这不是原因。
【讨论】:
我的错,我只是没有在结束标记前放四个空格,它没有出现在代码中......它在实际的 xml 文档中 好的,那么我建议您切换到另一个主题,例如提到的“android:Theme.Light”,这对于 HelloWorld 应用程序来说应该很好 uy,那么我认为看看你的 AndroidManifest.xml 是有意义的,也许也可以发布它。 清单似乎还可以......也许试试这个答案:***.com/a/19886189/2399024【参考方案4】:我终于找到了问题所在。我不得不从我的main.xml
中删除这行代码:
android:showAsAction="never"
在我的values-v11
和values-14
文件夹下,我将应用名称更改为...
style name="AppBaseTheme" parent="android:Theme.Light"
...它目前正在运行。
【讨论】:
以上是关于修复styles.xml中的错误以生成R.java:找不到资源名称'Theme.AppCompat.Light'的主要内容,如果未能解决你的问题,请参考以下文章
谷歌播放服务 appinvite_styles.xml 错误
如何在 Android 中从 styles.xml 设置 EditText 样式?
如何*动态*改变 iOS/Android 的每种颜色?例如。在 Droid 代码中,覆盖“Styles.xml”中的“colorAccent”