it-swarm.com.de

R.id kann nicht aufgelöst werden

Also habe ich dieses Tutorial-Beispiel direkt von Googles Android-Site kopiert und ich bekomme die Fehlermeldung, dass R.id nicht gelöst werden kann. 

Hier ist meine Java-Datei

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");
    }

}

Hier ist mein 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

Sie müssen Ihre R-Klasse importieren

import com.TestApp.HelloWebView.R;

Auch als Demand gebucht haben Sie einen Namespace für Ihr Layout.

?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

Ich hatte das gleiche Problem, als ich mein Android SDK aktualisiert habe. Plötzlich konnten neue Projekte die R.Java-Datei nicht generieren.

  • der Import meines R.Java hat nicht geholfen, da er nicht generiert wurde
  • das Reinigen und Erstellen des Projekts half auch nicht - der Ordner/gen war noch leer.

Ich habe festgestellt, dass der ADB-Server nach dem Upgrade nicht ordnungsgemäß gestartet wurde. Also manuell gestartet:

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

Dann habe ich Eclipse neu gestartet und ein Bereinigen/Erstellen des Projekts durchgeführt, wodurch die R.Java-Datei generiert wurde.

12
pestrella

Wenn Sie Eclipse verwenden, führen Sie einen sauberen Build (Project/Clean...) aus. Dadurch können oft Probleme gelöst werden, wenn die Ressourcen nicht korrekt kompiliert werden.

10
Charles Duffy

Haben Sie eine der hier aufgeführten Lösungen ausprobiert? R kann nicht gelöst werden - Android-Fehler

Suchen Sie auch nach Ihrer R.Java-Datei. Gibt es irgendwelche Fehler damit? 

2
Alex Florescu

Ich hatte auch dieses Problem. Ich kann im Allgemeinen keine Lösung sagen, aber Sie können einen neuen Arbeitsplatz erstellen und den Hardcode kopieren. Klicken Sie in Zukunft niemals auf Bereinigen oder Erstellen, stattdessen speichern oder starten Sie Eclipse erneut.

2
nameless

stellen Sie sicher, dass Sie keine XML-Dateien mit Großbuchstaben im Namen haben.

Ich hatte das gleiche Problem.

alle Dateinamen in res (und alle ihre Unterordner einschließlich Layout) dürfen nur Kleinbuchstaben sein. Dies umfasst Bilddateien, XML-Dateien usw. (auch wenn sie nicht innerhalb des Projekts referenziert werden.) 

1
Arturski

Ich bin auf dieses Problem gestoßen, als ich versucht habe, Lars Vogels Android-Entwicklungs-Tutorial zu folgen. Es stellt sich heraus, dass mein Problem einfach deshalb ist, weil ich die Layout-Datei nicht gespeichert habe. Sobald ich die Datei gespeichert habe, funktioniert sie einwandfrei.

1
newman

Versuchen Sie auch, das ~ .Android\debug.keystore zu löschen (Ist mir passiert, dachte ich, es liegt an einem R.id-Problem). Das eigentliche Problem war debug.keystore war älter als ein Jahr!

1
Andy

Beim Versuch eines Android-Anfängers (http://mobile.tutsplus.com/tutorials/Android/android-sdk-development/) wurde der Fehler "R.id kann nicht gelöst werden" ebenfalls stumped. In meinem Fall war es ein Android: onClick in /res/layout/main.xml. Es scheint, dass OnClick in AVD Platform 1.5 API Level 3 nicht unterstützt wird. 

Ein Wechsel zu einem neuen AVD mit Platform 1.6 API, Level 6, beseitigte den Fehler. Außerdem wurde das Projekt mit den neuen Einstellungen für API und Level völlig neu gestartet. Für absolute Eclipse-Neulinge (wie ich) erstellen Sie eine neue AVD mit:

Fenster -> Android SDK und AVD Manager -> Neu. Wählen Sie aus der Dropdown-Liste "Ziel" die Plattform und die Ebenennummer aus.

1
Paul

Gehen Sie in Ihre main.xml-Datei, löschen Sie ein Zeichen und schreiben Sie es neu. Dadurch wird die R-Datei erneut generiert.

1
lbedogni

Stellen Sie sicher, dass in einer Ihrer XML-Dateien kein versteckter Fehler vorliegt.
Manchmal können Sie eine Anweisung in der Datei strings.xml löschen, die wichtig ist.

Im Vogella-Beispiel habe ich beispielsweise den Fehler erhalten:

Fehler: Es wurde keine Ressource gefunden, die mit dem angegebenen Namen übereinstimmt (bei 'title' mit dem Wert '@ string/menu_settings').

Ich hatte die Zeile gelöscht:

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

Wenn Sie dies wieder in res/menu/main.xml einfügen oder löschen, wird der Fehler behoben.

0
satyrFrost

Ja, noch ein Update. Ich habe den Emulator gestartet. Durch das Ausführen eines Hallo-Android-Programms kompilierte das . Und stieg aus Eclispe und kam wieder rein und wusste nicht, welches das Problem gelöst hatte.

Das Projekt zu reinigen etc hat es nicht repariert - kann ich 2 Stunden meines Lebens zurück haben!

0
ozmike

wenn Sie Ihre main.xml-Datei vollständig gepostet haben, ist dies nicht richtig. Sie müssen einen Namespace von XML schreiben:

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

zum Beispiel:

<?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! Ich habe es geschafft, mein erstes Android-Projekt in Eclipse zu importieren!

Früher habe ich immer unter der Registerkarte "Eigenschaften - Java-Erstellungspfad - Bibliotheken" die Option "Systembibliothek kann nicht gefunden" gefunden, und es war unmöglich, sie zu korrigieren, sobald sie aufgetreten ist. Die Folge war, dass keine Importanweisungen durch etwas importiert werden konnten.

In diesem Fall habe ich den JDK-Übereinstimmungsgrad von 1,6 auf 1,5VORI geändert (danach ist er zu spät und kann nicht repariert werden). Dies muss über Window - Preferences - Java - Compiler erfolgen (früher dachte ich, dass diese Option nur durch Klicken mit der rechten Maustaste auf das bereits importierte Projekt verfügbar war). Klicken Sie dann mit der rechten Maustaste auf jedes Projekt, und legen Sie unter Eigenschaften - Android ein geeignetes Ziel fest (bei den obigen Fehlern ignoriert Eclipse hier die Auswahl). Dann könnte ich sogar wieder auf JDK-Konformitätsstufe 1.6 wechseln.

Daher kann es in der Regel hilfreich sein, den JDK-Übereinstimmungsgrad vor dem Import zu ändern.

Und beim Löschen eines ProjektsIMMERaktivieren Sie das Kontrollkästchen "Projektinhalt auf der Festplatte löschen (kann nicht rückgängig gemacht werden)" im Dialogfeld "Sind Sie sicher". Andernfalls ist es nicht möglich, das Projekt erneut zu importieren. Wenn Sie das Projekt beim ersten Mal mit dem falschen JDK-Übereinstimmungsgrad importiert haben, ist es nicht möglich, den Fehler zu korrigieren, außer in einem anderen Arbeitsbereich.

Dies sind die Erfahrungen eines sehr frustrierten Eclipse-Benutzers.

0
Tombola

import com.TestApp.R; wird nicht akzeptiert, wenn R verloren geht.

Mein Eclipse erstellt jetzt automatisch einen neuen "res" -Ordner, wenn ich "reinige". Ja, ich habe zwei Ordner namens "res" parallel direkt unter meinem Projektordner. Der automatisch erstellte ist leer. Stringwerte werden noch gefunden. Andere Fehler als "R kann nicht gelöst werden" werden von Eclipse gemeldet.

0
Tombola