R kann nicht aufgelöst werden - Android, kein Import android.R; Erklärung

8

Ok, Ich arbeite an einer neuen App und alles hat gut funktioniert, solange ich eine relative Ansicht verwendet habe. Ich möchte jedoch ein Tabbed-Layout, also habe ich das, was ich hatte (nicht viel bisher, da ich es gerade von einer DB und Einstellungen arbeiten) auf eine Tabbed-Ansicht umgeschaltet. Seit dieser Zeit hat jede Klasse, in der eine R.-Anweisung enthalten ist, den Fehler "R kann nicht aufgelöst werden". Ich befolge das Tutorial aus dem Android "Hello Views" -Tutorial, also gehe ich davon aus, dass das nicht das Problem ist (könnte aber immer noch sein).

    
smccloud 25.04.2011, 17:04
quelle

10 Antworten

11

Ich habe ein paar Vorschläge:

  1. Stellen Sie sicher, dass Sie keine anderen Fehler als die R-bezogenen Fehler haben. Klicken Sie mit der rechten Maustaste auf Ihren Projektordner in Eclipse, Android Tools - & gt; Fix Projekteigenschaften.

  2. Überprüfen Sie, ob Sie das richtige R importiert haben. Manchmal kann der Standard Android.R importiert werden.

  3. Überprüfen Sie auf Fehler in Ihren Layout-XML-Dateien.

Haphazard 25.04.2011, 17:11
quelle
8
  1. Sie können versuchen, Ihr Projekt zu "säubern".
  2. Die Standard-Tech-Lösung hilft manchmal: Eclipse (ernsthaft) neu starten
  3. Wenn Sie einen Fehler haben (etwas in Ihrem XML vielleicht oder etwas anderes), kann R nicht kompiliert werden. Wenn dies der Fall ist, versuchen Sie den ersten festgestellten Fehler zu finden. Wenn Sie das beheben, wird R kompiliert und gefunden. Wenn nötig, verwenden Sie Punkt 1. und 2. nach dem Reparieren.
  4. Entfernen Sie alle "Import R" -Stücke in den Importbereichen. Das willst du nicht.
Nanne 25.04.2011 17:19
quelle
2

Wenn Sie Eclipse verwenden, probieren Sie es aus, indem Sie ein Projekt durchführen / Ihr Projekt reinigen und neu aufbauen. Es hat manchmal zufällige Probleme mit dem Klassenpfad in Android-Projekten.

    
Stathis Sideris 25.04.2011 17:12
quelle
1

Stellen Sie zusammen mit den großartigen Vorschlägen in den vorherigen Antworten sicher, dass Ihr Android-Ziel festgelegt ist:

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

Bearbeiten: Ein Jahr später fand ich eine andere Ursache. Ich hatte ein .jpg Bild in meinem zeichnenden Ordner mit dem gleichen Namen wie ein .png Bild. Referenzieren dieses Bild in meinem Code muss das Programm verwirrt haben und es gab den Fehler "R kann nicht aufgelöst werden".

    
satyrFrost 15.02.2013 09:28
quelle
0

Wenn etwas in Ihrem 'res' -Verzeichnis mit unzulässigen Zeichen benannt wird, kann dies passieren.

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

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

Fix? Benennen Sie die Datei um. Dies geschieht, indem Sie mit der rechten Maustaste auf die Datei in Ihrem Paket oder Projekt-Explorer klicken und Refactor- & gt; Rename auswählen. Sie müssen möglicherweise Ihr Projekt danach reinigen, aber hüten Sie sich vor dem gefürchteten "Import android.R", der sich einschleichen kann.

Viel Glück! -scott

    
Scott Biggs 09.05.2011 16:43
quelle
0

Überprüfen Sie, ob alle von Ihnen verwendeten Zeichenfolgen (z. B. "@ string / Hello_world") tatsächlich in Ihrer Datei "strings.xml" vorhanden sind. Ich habe den Fehler des OP nach dem Deklarieren eines Menüelements mit android:title="@string/Navigation" erhalten, aber ich habe <string name="Navigation">Navigation</string> nicht zu strings.xml hinzugefügt

    
Beer Me 07.01.2014 20:18
quelle
0

Ich hatte auch das Beispielproblem und das hat für mich funktioniert.

1.) Überprüfen Sie, ob in Ihrem Layout XML Fehler enthalten sind. Besonders wenn es um Texte und Titel geht.

Sie sollten

verwenden %Vor%

statt

%Vor%

.2) Säubern Sie Ihr Projekt

.3) Starten Sie Eclipse neu

    
Seattle Ninja 30.11.2013 08:16
quelle
0

Sie sollten Ihre eigenen R-Klasse-Projekte statt Androids Standard-R-Klasse importieren, dh.
    your.app.package.R

Damit werden die Werte festgelegt, die im Ordner res in Ihrer Klasse definiert sind. Danach aktualisieren und säubern Sie dann Ihr Projekt.

    
Priest 07.09.2014 07:07
quelle
0

In meinem Fall wurde es verursacht, seit ich mein Projekt refaktoriert und einige Klassen innerhalb einer Ordnerstruktur verschoben habe. Diese Klassen konnten das R nicht wie üblich finden, da es auf dem Root-Quellordner basiert.

    
Armando SM 06.09.2015 20:14
quelle
-2

Sie müssen sicherstellen, dass Sie R importieren. Wenn Ihr Hauptpaket com ist, versuchen Sie beispielsweise, "com.example.R" am Anfang Ihrer Dateien zu importieren. Aus irgendeinem Grund macht Eclipse das nicht für dich.

    
quelle

Tags und Links