Android, string-Ressource nicht gefunden
Arbeite ich an einer App, und ich bin immer weired Fehler. Ich habe in einige String-Ressource in res/values/strings
und gespeichert. Wenn ich jetzt zugreifen will, es in eine Aktivität, bekomme ich eine Fehlermeldung wie diese
07-13 11:16:20.050: ERROR/AndroidRuntime(5883): Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x7f060006
Und ich kann nicht herausfinden, warum.
Ressource sieht wie folgt aus:
<string name="dialog_download_text">please wait while downloading</string>
und ich will wie
public void onCreate(Bundle b){
super.onCreate(b);
String s = getResources().getString(R.string.dialog_download_text);
}
Ich schaute auch in R.java und fand meinen Eintrag
public static final class string {
public static final int dialog_download_cancel=0x7f060005;
public static final int dialog_download_text=0x7f060007;
public static final int dialog_download_title=0x7f060006;
}
Ich weiß nicht, was zu tun ist, denn ich hatte nie ein problem wie dieses zuvor.
Bitte helfen Sie mir. Vielen Dank an alle.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Manchmal bekomme ich diesen Fehler (einmal alle 2 Tage), und es ist, weil eclipse nicht kompilieren Sie den neuen code und es ist die Bereitstellung der alten apk.
Ich dieses Problem beheben, indem
adb kill-server
undadb start-server
von der Befehlszeile ausWahrscheinlich gibt es ein extra
import android.R;
Dann ist dein string nicht gefunden werden kann es. Ansonsten reinigen Sie das Projekt und erstellen Sie ihn neu, wieder probieren, Berichte dann wieder.was ich hatte, war
import android.R;
statt
import com.example.project.R;
android.R nicht haben, Ihre Ressourcen, es hat nur den Allgemeinen android-Ressourcen.
Kasse diesem thread, es fixiert mein problem.
R kann nicht aufgelöst werden - Android Fehler
Reinigen Sie das Projekt in eclipse, und versuchen Sie es ausführen.Wenn dies nicht beheben Ihr Problem, aus einer bereits Laufenden emulator deinstallieren Sie die app und führen Sie es erneut aus eclispe.
Ich bin derzeit am schreiben der "net.superlinux.tcltktutorials" finden Sie auf play store jetzt.
jetzt in der Anwendung, möchte ich die standard-Möglichkeit der Verwendung von Gebietsschemata (locale) statt von meiner Art zu tun Gebietsschemas. Ich hatte, um für Arabisch /res/vlaues-ar, und ich habe die Standardeinstellung für Englisch /res/values.
Die app ist über ad-basierten YouTube-Playlist TCL/Tk programming language tutorials. jetzt die Wiedergabeliste kann in Arabisch und in Englisch. Was mir aufgefallen ist, dass wenn man in der default /res/Werte 36 Einträge und unter /res/values-ar 35 Einträge für die gleiche playlist, das macht die Ereignisse ResourceNotFound Ausnahme. Alles, was Sie tun müssen ist, fügen Sie den fehlenden Eintrag als leer an der Unterseite der Liste, nur um es gleich in zahlen in Englisch und Arabisch, Auch wenn die englische playlist ist weniger in zahlen.
Dies war meine Methode hinzufügen, um die Wiedergabeliste gebildet, die innerhalb der Liste die Aktivität, und auch eine clevere Nutzung der Ressourcen als xml-gebaut in Daten:
Es gibt zwei Fälle, können Sie diese Fehlermeldung erhalten
1.Ihre strings.xml Datei ist nicht korrekt bezeichnet?
Ans:geben Sie die korrekte Paketname für R.java Datei, wie Sie pro Anwendung?
2.wenn Sie gehalten korrekten string.XML-Pfad erhalten Sie möglicherweise noch Fehler?
Ans:einmal sauber und bauen Sie den Projektor neu starten eclipse oder android studio.
Dank
krishh
Traf ich auch dieses problem und es ist sehr verdrahtet auf den ersten.
1: ich sicherstellen, dass ich importieren die richtige R in meine Klasse
2: ich habe R.java in den gen-Ordner und die resource-id gibt.
3: ich hab meine Projekt, und entfernen Sie aus meinem Handy und es relaunch
die Ausnahme ist immer noch da.
Endlich hab ich den Grund gefunden:
Ich habe gerade meine Ressource-string in die strings.xml in der Sprache-spezifische Ordner(sagen die Werte-zh), aber verpasste es in der Standard strings.xml in der default-Werte-Ordner.
dann ist es gelöst.