Исправление ошибки в styles.xml для генерации R.java: имя ресурса не найдено 'Theme.AppCompat.Light'
Я новичок в Android и пытаюсь запустить свою первую программу. Однако, исходя из моих поисковых запросов в Интернете, я думаю, что я не могу импортировать mypackage.R
, потому что r.java
не был создан из-за ошибок в моих файлах style.xml. Я искал вокруг, пытаясь выяснить, как исправить это, но я не могу найти исправление, которое работает. Ошибка в 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;
}
}
UPDATE:
Вот стиль .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>
Ответы
Ответ 1
Вы пытаетесь использовать тему Theme.AppCompat.Light
, которая представляет собой проект библиотеки. Вы должны ссылаться на этот проект библиотеки на свой проект.
Теперь сначала проверьте, что вы установили этот проект библиотеки следующим образом:
Go Окно → Android SDK Manager, тогда появится окно с именем Android SDK Manager.
![enter image description here]()
Если Android Support Library
не установлен, установите его. Вы можете увидеть дополнительную информацию о настройке Android Support Library
с сайта разработчика Android ниже.
Поддержка настройки библиотеки
После завершения Android Support Library
завершения установки свяжите библиотеку с вашим проектом с этим путем...
android-sdk/extras/android/support/v7/appcompat
Чтобы сделать ссылку, выполните следующие действия:
- Файл → Импорт (android-sdk\extras\android\support\v7). Выберите " appcompat"
- Проект → свойства → Android. В библиотеке разделов " Добавить" и выберите " appCompat"
Теперь очистите и создайте свой проект и запустите его. Я думаю, что после всего этого ваша проблема будет решена.
Ответ 2
Я, наконец, понял проблему. Мне пришлось удалить эту строку кода из моего main.xml
:
android:showAsAction="never"
В моих папках values-v11
и values-14
я изменил имя приложения на...
style name="AppBaseTheme" parent="android:Theme.Light"
... и он в настоящее время работает.
Ответ 3
Поскольку вы используете Theme.AppCompat.Light
в своей теме, вы должны включить appCompat
в свой проект.
-
Файл- > Импорт (android-sdk\extras\android\support\v7). Выберите "appcompat"
-
Project- > properties- > Android. В библиотеке разделов
-
"Добавить" и выберите "appCompat"
Это должно сработать.
Ответ 4
Убедитесь, что вы правильно закрыли тег <resources>
и добавили в нижней части своих styles.xml:
</resources>
в соответствии с вашим опубликованным фрагментом кода, которого нет, но должен быть
Изменить: тег отсутствующих ресурсов был просто ошибкой копирования-вставки, поэтому здесь это не причина.