Ich habe die Zeile geschrieben:
String Mess = R.string.mess_1 ;
Um einen String-Wert zu erhalten, aber anstatt einen String zurückzugeben, gibt es mir eine ID vom Typ Integer. Wie kann ich den Zeichenfolgenwert ermitteln? Ich habe den Zeichenfolgenwert in der string.xml
Datei erwähnt.
this.getString(R.string.some_id)
wenn Sie sich bereits in einerContext
(Aktivität oder Dienst) befinden.getResouces().getInteger(R.integer.my_value_in_xml)
In Aktivität:
Wenn Sie nicht aktiv sind, aber Zugriff auf den Kontext haben:
quelle
this
während Sie in Aktivität sind. EinfachgetString()
werden Sie Dinge tun lassen.Ich benutze dies:
quelle
Resources.getSystem()
nicht die Anwendungsressourcen, sondern nur die von Android. Es sollte nicht für Ressourcen wie verwendet werdenstring
. Ich habe diese Lösung verwendet und die Anwendung stürzte ab und warf einenotfoundexception
schwer verständliche (da die Ressource in vorhanden iststrings.xml
).Übrigens ist es auch möglich, String-Arrays in der Datei strings.xml wie folgt zu erstellen:
Und dann können Sie aus Ihrer Aktivität die Referenz wie folgt erhalten:
quelle
Nur für zukünftige Referenzen.
In der Dokumentation zu den String-Ressourcen heißt es:
quelle
Lösung 1
Lösung 2
quelle
In Fragmenten können Sie verwenden
quelle
Wenn Sie den Zeichenfolgenwert beispielsweise einer Schaltfläche hinzufügen möchten, verwenden Sie diese einfach
Der definierte Text in strings.xml sieht folgendermaßen aus:
quelle
Sie müssen auf den Kontextnamen verweisen, bevor Sie ihn
getResources()
in Android verwenden können.ODER
quelle
Sie können diesen Code verwenden:
quelle
Wenn Sie in einer Aktivität sind, können Sie verwenden
Wenn Sie nicht an einer Aktivität teilnehmen, verwenden Sie Folgendes:
quelle
Einzelheiten
Aufgabe
Schritt 1. Anwendung ()
Schritt 2. Fügen Sie die Erweiterung int hinzu
Verwendungszweck
Ergebnisse
quelle
während du schreibst
R
. Wenn Sie sich auf dieR.java
durch Eclipse erstellte Klasse beziehen , verwenden Sie die Ressource, aus der Sie in der Methode lesen möchten,getResources().getString()
und übergebenid
Sie siegetString()
.Beispiel:
String[] yourStringArray = getResources().getStringArray(R.array.Your_array);
quelle
** **.
** **.
quelle
Aktualisieren
getString(R.string.some_string_id)
in beidenActivity
oder verwendenFragment
.Context.getString(R.string.some_string_id)
wenn Sie keinen direkten Zugriff auf diegetString()
Methode haben. WieDialog
.Das Problem ist, wo Sie keinen
Context
Zugriff haben , wie bei einer Methode in IhrerUtil
Klasse.Nehmen Sie die folgende Methode ohne Kontext an.
Jetzt werden Sie
Context
als Parameter in dieser Methode übergeben und verwendengetString().
Was ich tue ist
Was? Es ist sehr einfach, überall in Ihrer App zu verwenden!
Hier ist eine einzigartige Bonuslösung, mit der Sie von überall auf Ressourcen zugreifen können
Util class
.Fügen Sie Ihrem
manifest.xml
<application
Tag ein Namensfeld hinzu.Jetzt können Sie loslegen.
quelle
getString (R.string.your_string) erhält das Ergebnis
quelle
String myString = getResources().getString(R.string.here_your_string_name);
Jetzt wird Ihre Zeichenfolge in myString kopiert. Ich hoffe es wird für dich funktionieren.
quelle
Sie können den in strings.xml definierten Wert direkt lesen:
und in eine Variable setzen:
aber wir können die Zeichenfolge in der Ansicht definieren:
quelle