Android-Ressource-IDs plötzlich nicht endgültig, Felder können nicht aufgelöst werden
Arbeite ich an einem neuen alten Projekt... ich mache es für ein anderes Land Markt, und wenn ich copyed mein code aus einem alten Projekt, es zeigt einige Fehler, wie MIGRATE ANDROID CODE (Wie der ADT 14, Ressourcen-Felder können nicht verwendet werden, die als switch-Case-Anweisungen.) Dies geschieht für eine resourses, die in strings.xml Datei für das layout.
Aber es nicht geben Sie mir einige posible fix... wie kann ich es beheben???? Hier ist der code:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Here is mistake
setContentView(R.layout.main);
//Kreira AlertDialog sa dva dugmeta koji ce se pojaviti pri aktiviranju aplikacije
ad = new AlertDialog.Builder(this).create();
//And HERE
ad.setTitle(getString(R.string.vasa_trenutna_lokacija));
//And HERE
ad.setMessage(getString(R.string.da_bi_ste_koristili_aplikaciju));
//And HERE
ad.setButton(DialogInterface.BUTTON_POSITIVE, getString(R.string.dozvoli), new DialogInterface.OnClickListener() {
//Klikom na dugme Dozvoli otvara se novi prozor
@Override
public void onClick(DialogInterface ad, int which) {
Intent i = new Intent(NiskiMerakActivity.this, TrenutnaLokacija.class);
startActivity(i);
finish();
}
});
ad.setButton(DialogInterface.BUTTON_NEGATIVE, getString(R.string.ne_dozvoli),new DialogInterface.OnClickListener() {
//Klikom na dugme Ne dozvoli aplikacija se zatvara
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
});
Bitte poste deine logcat. Ich hoffe,Sie sind nicht immer Fehler, verursacht durch den import von R-Datei in Ihre Klasse.
was ein Fehler oder eine exception u r immer durch die Art und Weise??????
Dumm von mir!!!!!! Ich importierte android.R, aber aus irgendeinem reson Sie nicht importiert, alle von R. ich hinzufügen .* an der und und es scheint jetzt ist es okey!!! Danke.... Stellen Sie es sich wie eine Antwort, und ich werde prüfen, es wahr...
sollten Sie nicht importieren android.R
was ein Fehler oder eine exception u r immer durch die Art und Weise??????
Dumm von mir!!!!!! Ich importierte android.R, aber aus irgendeinem reson Sie nicht importiert, alle von R. ich hinzufügen .* an der und und es scheint jetzt ist es okey!!! Danke.... Stellen Sie es sich wie eine Antwort, und ich werde prüfen, es wahr...
sollten Sie nicht importieren android.R
InformationsquelleAutor Jovan | 2011-10-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als der ADT 14, Ressourcen-Felder können nicht verwendet werden, die als switch-Case-Anweisungen.
Passiert mir auch, ich habe diesen Fehler auch wenn ich nicht mit der R-variable in einer switch-Anweisung. Seien Sie nicht täuschen durch die Fehlermeldung. Sie haben grundsätzlich einige Fehler, die sich auf die R.java Datei. Stellen Sie sicher, dass Sie nicht importieren R.java da sollten Sie Ihre eigenen haben. Löschen R.java Datei, Projekt erstellen, und sehen, ob Ihre R.java Datei wird erzeugt. Wenn nicht, könnten Sie einen Fehler, der verhindert, dass Ihre R.java Datei aus, die aktualisiert werden. Versuchen Sie Projekt > Reinigen, um alle Fehler zu finden. Loszuwerden, die Fehler und reparieren Sie Ihr Projekt so, dass Ihre R.java Datei wird erzeugt und ist up-to-date.
wie der ADT 14 R Konstanten sind nicht endgültig in der Bibliothek Projekte. Siehe tools.android.com/tips/non-constant-fields
Vielleicht haben Sie verworfen, dass die änderung in einer späteren version dann, weil meine IDs sind definitiv
final
und ich bin jetzt mit ADT 20.Siehe @47lucanae Antwort unten. Das Umschalten der Bibliothek Ist Eigentum definitiv schaltet zwischen diesen zwei Verhaltensweisen in den SDK-Tools 22.6 / SDK-Plattform-tools 19.0.1.
InformationsquelleAutor subduedjoy
Zitieren http://tools.android.com/tips/non-constant-fields
Da Ihr code-snippet oben nicht angezeigt, um einen
switch()
- Anweisung, aber Ihre Frage bezieht sich auf eineswitch()
Aussage, ich nehme an Sie haben den falschen code.Vielen Dank 🙂 Diese sortiert Sie es aus für mich.
Dies ist die einfachste Lösung für mich. danke!
InformationsquelleAutor CommonsWare
wenn Ihr switch-case-ids innerhalb einer Bibliothek, leider sind die neuen ADT-Versionen nicht unterstützen.
Allerdings können Sie konvertieren Sie es leicht zu if-else , wie gezeigt auf der website von Google:
InformationsquelleAutor android developer
Wahrscheinlich, die Sie gerade brauchen, um
Clean
Ihr Projekt, d.h. Projekt -> rein vom Hauptmenü.Es sollten keine Fehler im obigen code. Das problem ist nur mit
switch
Aussagen.Bitte versuchen Sie es zu reinigen und zu einen Kommentar hier, was ist das Ergebnis.
InformationsquelleAutor Ognyan
Ich behoben, indem Sie in meine import von
android.r;
zuandroid.R.*;
Es gelöscht, alle meine Fehler und ich war in der Lage zu kompilieren meine app wieder.
InformationsquelleAutor Stephen Wigginton
Fand ich es funktioniert nach dem ändern der import-Anweisung für R Ihre Paket-Namen.
Zum Beispiel:
import android.R;
ist jetzt
import com.name.Paket.R;
InformationsquelleAutor siwest
Heute war ich vor dem gleichen Fehler, mein eclipse-Projekt 1-Projekt-Bibliothek Hinzugefügt, und ich war über alles zu verändern, was den code um if-Anweisungen, aber ich merke mein Projekt hatte die Bibliothek überprüfen, Projekt ->Eigenschaften-> android, so dass ich nur turn it down und das war die Lösung des Problems, es war auch ein Vorschlag von eclipse selbst, das Lesen gezielt android-migration-code adt 14 Konstanten Warnung für Projekt-Bibliotheken.
InformationsquelleAutor 47tucanae
Wählen Sie im eclipse-Projekt -> sauber, und das problem war gelöst. Ich habe diesen Fehler nur durch die Schaffung eines neuen Pakets in meine app und es zu entfernen.
InformationsquelleAutor Darko
Hier sind die Schritte, die mir hilft dieses problem zu beheben.
Diese Schritte lösen das problem mit meiner Arbeit.
Danke Kev für deine Führung. Ich beziehe meine Antwort in der Zukunft.
InformationsquelleAutor Joseph Selvaraj
Ich habe versucht, alle oben genannten Ansätzen zum löschen der erzeugten R.java Datei, reinigen, neu erstellen, etc aber das Konzept hat nicht funktioniert für mich.
Was funktioniert hat war das ersetzen der Fall, wenn eine else-if-Kette, die war eine chaotisch-fix meiner Meinung nach, aber ich konnte es nicht zu funktionieren auf andere Weise.
Ich bin mit Eclipse 4.2.1 und Android-SDK 4.2.2
InformationsquelleAutor Terry Ray