8 Stimmen

R kann nicht aufgelöst werden - Android, keine import Android.R; Anweisung

Also gut, Ich arbeite an einer neuen App und alles funktionierte gut, solange ich eine relative Ansicht verwendete. Allerdings möchte ich ein Registerkarten-Layout, so dass ich umgeschaltet, was ich hatte (nicht viel so weit, da ich gerade bekam es Lesen von einer DB und Einstellungen arbeiten) über eine Registerkartenansicht. Seit dieser Zeit hat jede Klasse, die eine R. Anweisung in ihm hat eine "R kann nicht aufgelöst werden" Fehler. Ich bin nach dem Tutorial aus dem Android "Hallo Ansichten" Tutorial, so dass ich annehme, dass ist nicht das Problem (aber es könnte noch sein).

11voto

Haphazard Punkte 10802

Ich habe ein paar Vorschläge:

  1. Vergewissern Sie sich, dass Sie außer den R-Fehlern keine weiteren Fehler haben. Klicken Sie mit der rechten Maustaste auf Ihren Projektordner in Eclipse, Android Tools -> Fix Project Properties.

  2. Vergewissern Sie sich, dass Sie das richtige R importiert haben. Manchmal kann das Standard-Android.R importiert werden.

  3. Prüfen Sie Ihre Layout-XML-Dateien auf Fehler.

2 Stimmen

Ich habe festgestellt, dass in meiner Datei res/layout/main.xml ein Zeichen fehlt.

0 Stimmen

+1 zur Beseitigung von nicht R-bezogenen Fehlern zuerst. Ich habe es immer noch nicht ganz herausgefunden, aber ich hatte nicht-R-bezogene Fehler in einem anderen Projekt, und ich kann nicht verstehen, wie sie zusammenhingen - aber das Beseitigen dieser Fehler ließ die R-Fehler zuerst verschwinden. Stellen Sie sich das mal vor.

8voto

Nanne Punkte 63372
  1. Sie können versuchen, Ihr Projekt zu "säubern".
  2. Manchmal hilft die technische Standardlösung: Eclipse neu starten (ernsthaft)
  3. Wenn Sie einen Fehler haben (vielleicht etwas in Ihrem XML oder etwas anderes), kann R nicht kompiliert werden. Wenn dies der Fall ist, versuchen Sie, den ersten Fehler zu finden. Wenn Sie diesen beheben, wird R kompiliert und gefunden. Wenn nötig, verwenden Sie Punkt 1. und 2. nachdem Sie den Fehler behoben haben.
  4. Entfernen Sie alles "R-Import"-Zeug in den Importabschnitten. Das wollen Sie nicht.

0 Stimmen

Sie wollen Android.r nicht importieren, aber Sie wollen das R, das Teil Ihres Projekts ist, importieren.

0 Stimmen

Nein, Sie wollen KEIN R importieren, wie weiter unten angegeben, manchmal kommt Eclipse mit dem falschen Klassenpfad, und es wird dazu führen, dass R von Android.R anstelle von yourpackage.R ableitet - Reinigung und Neustart (und gelegentlich mit Autocomplete, um sicherzustellen, dass es yourpackage.R anstelle von Android.R verwendet) sind die Lösungen. Nochmals, R wird (sollte) als Teil Ihres Projekts gebaut und sollte nicht importiert werden.

0 Stimmen

Wenn ich R nicht aus com.mypackage.r importiere, erhalte ich einen Fehler. Liegt das daran, dass sich meine Startaktivität in einem separaten Paket befindet?

2voto

Stathis Sideris Punkte 614

Wenn Sie Eclipse verwenden, versuchen Sie es mit Project/Clean und bauen Sie Ihr Projekt neu auf. Es hat manchmal zufällige Probleme mit dem Klassenpfad bei Android-Projekten.

1voto

satyrFrost Punkte 373

Neben den guten Vorschlägen in den vorherigen Antworten sollten Sie sicherstellen, dass Ihr Android-Ziel eingestellt ist:

  1. Klicken Sie mit der rechten Maustaste auf Ihr Projekt
  2. Eigenschaften auswählen
  3. Wählen Sie im linken Menü Android
  4. Kreuzen Sie ein Kästchen neben dem entsprechenden Project Build Target an.
  5. Klicken Sie auf Übernehmen und OK

Edit: Ein Jahr später habe ich eine andere Ursache gefunden. Ich hatte ein .jpg-Bild in meinem Drawable-Ordner mit demselben Namen wie ein .png-Bild. Der Verweis auf dieses Bild in meinem Code muss das Programm verwirrt haben und es gab den Fehler "R kann nicht aufgelöst werden".

0voto

SMBiggs Punkte 9875

Dies kann passieren, wenn der Name des Verzeichnisses "res" unzulässige Zeichen enthält.

Beachten Sie, dass Android nur Kleinbuchstaben (keine Großbuchstaben!!!), Ziffern und den Unterstrich zulässt. DAS IST ALLES!

Fast jedes Betriebssystem lässt andere Zeichen zu, so dass das Verschieben einer Datei in Ihr 'res'-Verzeichnis leicht zu diesem Problem führen kann.

Abhilfe? Benennen Sie die Datei um. Dazu klicken Sie mit der rechten Maustaste auf die Datei in Ihrem Paket- oder Projektexplorer und wählen Refactor->Umbenennen. Möglicherweise müssen Sie Ihr Projekt danach bereinigen, aber hüten Sie sich vor dem gefürchteten "import Android.R", das sich einschleichen kann.

Viel Glück! -scott

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X