web-dev-qa-db-fra.com

R.id ne peut pas être résolu

J'ai donc copié cet exemple de didacticiel directement à partir du site Android de Google et j'obtiens une erreur que R.id ne peut pas être résolue. 

Voici mon fichier Java

package com.TestApp.HelloWebView;

import Android.app.Activity;
import Android.os.Bundle;
import Android.webkit.WebView;

public class HelloWebView extends Activity {
    WebView mWebView;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mWebView = (WebView) findViewById(R.id.webview);
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.loadUrl("http://www.google.com");
    }

}

Voici mon res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>

<WebView Android:id="@+id/webview"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"/>
17
Soren

Vous devez importer votre classe R

import com.TestApp.HelloWebView.R;

De plus, en tant que demande publiée, vous devez utiliser un espace de noms pour votre mise en page.

?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@+id/webview"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"/>
23
Pentium10

J'ai eu le même problème lorsque j'ai mis à jour mon SDK Android. Soudainement, les nouveaux projets ne pouvaient pas générer le fichier R.Java.

  • importer mon R.Java n'a pas aidé parce qu'il n'a pas été généré
  • le nettoyage et la construction du projet n'ont pas aidé non plus - le dossier/gen était toujours vide.

J'ai constaté qu'après la mise à niveau, le serveur adb n'a pas démarré correctement. Donc un a commencé manuellement:

$ cd $Android_SDK/platform-tools
$ adb start-server

Ensuite, j'ai redémarré Eclipse et effectué un nettoyage/une construction du projet, qui a généré le fichier R.Java.

12
pestrella

Si vous utilisez Eclipse, exécutez une nouvelle version (Project/Clean...); Cela peut souvent résoudre des problèmes de ressources mal compilées.

10
Charles Duffy

Avez-vous essayé l’une des solutions répertoriées ici? R ne peut pas être résolu - Erreur Android

Recherchez également votre fichier R.Java. Y a-t-il des erreurs avec cela? 

2
Alex Florescu

J'ai eu ce problème également. Je ne peux pas dire une solution en général, mais vous pouvez créer un nouveau lieu de travail et copier le code dur. À l'avenir, ne cliquez jamais sur nettoyer ou créer, mais sauvegardez ou relancez Eclipse.

2
nameless

assurez-vous de ne pas avoir de fichier xml avec des majuscules dans le nom.

J'ai eu le même problème.

tous les noms de fichiers dans res (et tous ses sous-dossiers, y compris la mise en page) doivent être en minuscules uniquement. Cela inclut les fichiers image, les fichiers XML, etc. (même s'ils ne sont référencés nulle part dans le projet.) 

1
Arturski

J'ai rencontré ce problème lorsque j'ai essayé de suivre le tutoriel de développement Android de Lars Vogel ... il s'avère que mon problème vient simplement du fait que je n'ai pas enregistré le fichier de présentation. Une fois que je sauvegarde le fichier, cela fonctionne bien.

1
newman

Essayez également de supprimer le fichier ~ .Android\debug.keystore (cela m'est arrivé, je pensais que c'était à cause du problème R.id). Le vrai problème était debug.keystore avait plus d'un an!

1
Andy

En essayant un tute pour débutant Android (http://mobile.tutsplus.com/tutorials/Android/android-sdk-development/), l'erreur "R.id ne peut pas être résolu" m'avait aussi dérouté. Dans mon cas, c’était un Android: onClick dans /res/layout/main.xml. OnClick semble ne pas être pris en charge dans l'API de niveau 3 de la plate-forme AVD 1.5. 

Une modification apportée à un nouvel AVD avec l’API de la plate-forme 1.6, niveau 6, supprimait l’erreur. Le projet était également lancé à partir de zéro avec les nouveaux paramètres api et level. Pour les débutants Eclipse (comme moi), créez un nouveau DAV avec:

Fenêtre -> Android SDK et AVD Manager -> Nouveau. Sélectionnez la plate-forme, le numéro de niveau dans la liste déroulante "Cible".

1
Paul

Allez dans votre fichier main.xml, supprimez un caractère et réécrivez-le. Cela va générer le fichier R à nouveau.

1
lbedogni

Assurez-vous qu'il n'y a pas d'erreur cachée dans l'un de vos fichiers .xml.
Parfois, vous pouvez supprimer une instruction importante dans le fichier strings.xml.

Par exemple, dans l'exemple Vogella, j'ai eu l'erreur:

Erreur: Aucune ressource trouvée qui correspond au nom donné (dans 'title' avec la valeur '@ string/menu_settings').

J'avais supprimé la ligne:

<string name="menu_settings">Settings</string>

Le remettre ou supprimer res/menu/main.xml résoudrait l’erreur.

0
satyrFrost

Ouais, un autre correctif. J'ai lancé l'émulateur. En exécutant un programme helloandroid, cela compilait .. Et sortait d’eclispe et rentrait dans je ne sais pas lequel a résolu le problème ..

Nettoyer le projet, etc. n'a pas résolu le problème - puis-je avoir 2 heures de ma vie en arrière!

0
ozmike

si vous avez posté votre fichier main.xml complet, ce n'est pas correct. Vous devez écrire un espace de noms xml:

xmlns: Android = "http://schemas.Android.com/apk/res/Android"

par exemple:

<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@+id/label"
    Android:layout_width="78dip"
    Android:layout_height="65dip"
    Android:paddingTop="4dip"
    Android:textSize="12dip"
    Android:singleLine="true"
    Android:ellipsize="end"
    Android:textColor="@color/bright_text_dark_focused"
    Android:gravity="center_horizontal|center_vertical" />
0

Eureka! J'ai réussi à importer mon premier projet Android dans Eclipse!

Auparavant, j'avais toujours le message "Impossible de trouver la bibliothèque système" dans les propriétés du projet - Chemin de construction Java - Onglet Bibliothèques et il était impossible de le corriger une fois qu'il s'était produit. La conséquence était qu'aucune déclaration d'importation ne pouvait être résolue par quelque chose importé.

Dans ce cas, j’ai modifié le niveau de conformité JDK de 1,6 à 1,5AVANTj’ai importé (par la suite, il est trop tard et ne peut pas être réparé). Cela doit être fait à partir de Fenêtre - Préférences - Java - Compilateur (je pensais auparavant que cette option était disponible uniquement en cliquant avec le bouton droit de la souris sur le projet déjà importé). Cliquez ensuite avec le bouton droit de la souris sur chaque projet et définissez Propriétés - Android sur une cible appropriée (avec les erreurs ci-dessus, Eclipse ignore toute sélection ici). Ensuite, je pourrais même revenir au niveau de conformité JDK 1.6.

Par conséquent, il peut être utile de modifier le niveau de conformité JDK avant l’importation en général.

Et lors de la suppression d'un projetTOUJOURS, cochez la case "Supprimer le contenu du projet sur le disque (impossible de l'annuler)" dans la boîte de dialogue "Êtes-vous sûr". Sinon, il est impossible de réimporter le projet. O Si vous l'avez importé avec le mauvais niveau de conformité JDK la première fois, il est impossible de corriger l'erreur autrement que d'essayer dans un autre espace de travail.

Ce sont les expériences d’un utilisateur Eclipse très frustré.

0
Tombola

l'importation com.TestApp.R; n'est pas acceptée une fois que R est perdu.

Mon Eclipse crée maintenant automatiquement un nouveau dossier "res" à chaque fois que je "nettoie". Oui, j'ai deux dossiers nommés "res" en parallèle directement dans le dossier de mon projet. L'auto créée est vide. Les valeurs de chaîne sont toujours trouvées. Eclipse ne rapporte aucune autre erreur que "R ne peut pas être résolue".

0
Tombola