web-dev-qa-db-fra.com

Erreur de correction dans styles.xml pour générer R.Java: Aucune ressource trouvée, nom 'Theme.AppCompat.Light'

Je suis nouveau sur Android et j'essaye de lancer mon premier programme. Cependant, sur la base de mes recherches sur Internet, je pense que je ne peux pas importer mypackage.R car r.Java n'a pas été généré en raison d'erreurs dans mes fichiers style.xml. J'ai cherché autour de moi pour essayer de trouver une solution, mais je ne trouve pas de solution qui fonctionne. L'erreur dans styles.xml est 

error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light'

Est-ce que quelqu'un sait comment réparer ceci?

! [Erreurs dans style.txt] [1]

Voici le code que j'utilise:

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: Voici 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>

UPDATE 2: Voici 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>
10
ravensgo

Vous essayez d'utiliser Theme.AppCompat.Light theme, qui est un projet de bibliothèque. Vous devez référencer ce projet de bibliothèque à votre projet.

Dans un premier temps, vérifiez que vous avez installé ce projet de bibliothèque comme suit ...

Allez Fenêtre -> Gestionnaire de SDK Android, puis une fenêtre nommée Gestionnaire de SDK Android apparaîtra comme ci-dessous.

enter image description here

Si le Android Support Library n'est pas installé, installez-le. Vous pouvez voir plus d'informations sur l'installation de Android Support Library à partir du site de développeur Android ci-dessous.

Configuration de la bibliothèque de support

Une fois l'installation de Android Support Library terminée, référencez la bibliothèque à votre projet à partir de ce chemin ...

Android-sdk/extras/Android/support/v7/appcompat

Pour référencer, procédez comme suit:

  1. Fichier -> Importer (Android-sdk\extras\Android\support\v7). Choisissez "appcompat"
  2. Projet -> propriétés -> Android. Dans la bibliothèque de sections "Ajouter" et choisissez "appCompat"

Maintenant, nettoyez et construisez votre projet et exécutez-le. Je pense qu'après tout cela, votre problème sera résolu.

10
Hamid Shatu

J'ai finalement compris le problème. Je devais supprimer cette ligne de code de mon main.xml:

Android:showAsAction="never"

Sous mes dossiers values-v11 et values-14, j'ai changé le nom de l'application en ...

style name="AppBaseTheme" parent="Android:Theme.Light"

... et ça marche actuellement.

2
skm9

Puisque vous utilisez Theme.AppCompat.Light dans votre thème, vous devez inclure appCompat dans votre projet. 

  • Fichier-> Importer (Android-sdk\extras\Android\support\v7). Choisissez "appcompat" 

  • Projet-> Propriétés-> Android. Dans la section bibliothèque

  • "Ajouter" et choisissez "appCompat"

Cela devrait fonctionner. 

1
Ye Lin Aung

Assurez-vous d'avoir bien fermé la balise <resources> et ajouté au bas de votre fichier styles.xml:

 </resources>

selon l'extrait de code que vous avez posté qui n'est pas présent, mais doit être

Edit: la balise de ressources manquante était juste un bug de copier-coller en question, donc ce n'était pas la raison.

0
donfuxx