web-dev-qa-db-fra.com

principal ne peut pas être résolu ou n'est pas un champ

Cette erreur se produit dans la ligne setContentView de cet extrait de code:

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

Je comprends que pour que R.layout.main soit résolu, un fichier nommé res/layout/main.xml doit être présent.

Il est présent et valide (c'est-à-dire qu'Eclipse le marque comme parfait sans aucune erreur). Alors, quoi d'autre pourrait provoquer cette erreur?

BTW, j'ai déjà essayé Project> Clean. L'erreur persiste.

32
Android Eve

Assurez-vous que cela ne figure pas dans vos importations:

import Android.R;

mais:

import your.application.packagename.R;
139
Cristian

Essayez également: ajouter

import your.application.packagename.R;

et lancez: Eclipse-> project-> clean ..

L'erreur devrait avoir disparu.

10
giorgioca

Supprimez toutes vos instructions d'importation de la classe où vous obtenez ce message d'erreur.

Puis appuyez ctrl+shift+o

2
yogesh

Si c'est le problème que vous rencontrez, vérifiez en haut de votre code - vous verrez:

import Android.R

Supprimez cette ligne et changez-la en

import (com.xx.yy)

Remplacez (com.xx.yy) par votre nom de package réel pour la classe. Ce problème se produit principalement lorsque vous copiez tout le code XML et Java d'une autre application et le collez dans votre nouvelle application.

Voici un exemple de la façon dont j'ai remplacé le Android.R packages dans une de mes propres applications (un jeu de réflexion):

package com.pir.PUZZLEGAME_NEW;

import com.pir.PUZZLEGAME_NEW.*;
import com.pir.puzzlegame_old.R;

Bonne chance!

2
PIR FAHIM SHAH

J'ai changé

   import Android.R;

à

 import your.application.packagename.R;

Et projet -> nettoyer toujours l'erreur.

Mais lorsque j'exécute le projet, l'erreur disparaît automatiquement, peut-être un problème Eclipse.

0
Haris

pour moi changer

import org.opencv.R;

à

import com.example.opencvtryagain.R;

résolu, où comme mon nom de package était com.example.opencvtryagain;

0

J'ai supprimé la ligne suivante et cela a fonctionné pour moi.

importer Android.R;

0
dev_android

De plus, parfois, il ne se compile toujours pas, même après avoir effectué le changement nécessaire; mais si vous continuez et exécutez l'application, les erreurs disparaîtront.

0
B. Clay Shannon

Si vous utilisez Eclipse, alors

  1. Supprimez toutes vos instructions d'importation de la classe où vous obtenez ce message d'erreur.

  2. appuyez sur CTRL + MAJ + O -> OR sélectionnez Source dans le menu et sélectionnez Organiser import. Cela importera toutes les classes nécessaires.

Remarque: étant donné que vous disposez d'un fichier R.class local, il importera votre fichier local au lieu du fichier Android.R.

J'espère que cela aidera quelqu'un.

0
Joseph Selvaraj