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>
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.
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:
Maintenant, nettoyez et construisez votre projet et exécutez-le. Je pense qu'après tout cela, votre problème sera résolu.
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.
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.
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.