R.string.(variable) geht das

Dieses Thema R.string.(variable) geht das im Forum "Mobile Geräte" wurde erstellt von Joob, 4. Jan. 2017.

Thema: R.string.(variable) geht das Hallo, ich benutze php-Scripte und gebe Erfolgsmeldungen zurück. Diese zeige ich im Toast an. Nun möchte ich die...

  1. Joob
    Joob Mitglied
    Hallo,

    ich benutze php-Scripte und gebe Erfolgsmeldungen zurück.
    Diese zeige ich im Toast an.
    Nun möchte ich die string.xml verwenden um Sprachenunabhängig zu sein.
    Also gebe ich vom PHP die Stringbezeichnung zurück die in der strings.xml steht.
    Leider weiß ich nicht wie ich da einen String verarbeiten soll.
    Beispiel:
    php sendet "phpnewMemOK"
    in string.xml steht <string name="phpnewMemOK">Neues Mitglied angelegt</string>
    Im Toast getString(R.string.phpnewMemOk)
    den Teil phpnewMemOK bekomme ich als Variable aus

    also ist die Frage : Wie geht getString(R.string.[stringvariableausphp])
     
  2. Vielleicht hilft dir das kostenlose Training weiter --> (hier klicken)
  3. Robat
    Robat Aktives Mitglied
    Das kannst du in der Tat recht einfach umsetzen:

    Code (Java):

    // holen der ID über die getIdentifier() Methode
    int id = getResources().getIdentifier(stringvariableausphp, "string", getPackageName());
    String value = getString(id);

    // hier muss natürlich entsprechend dem Wert geschaut werden ob in id überhaupt was drinne steht :)
     
    Erklärung:
    getIdentifier(String name, String defType, String package);
    name: Name der Resource
    defType: typ.. also ob R.string, R.layout, R.color etc..
    package: das Package eben.

    Gruß
    Robert
     
  4. Joob
    Joob Mitglied
    Erst mal schönen Dank, das haut hin.
    Allerdings wo finde ich die ID, in der String.xml steht sie nicht und die Zahl sagt mir auch nichts.
    Was ist die ID ?
     
  5. Robat
    Robat Aktives Mitglied
    Die ID ist zum Beispiel: R.string.meineStringVariable.

    Weil du ja den genauen Pfad nicht kennst sondern nur weißt wie die Variable heißt musst die dir die ID "zusammenbauen".
    Das kannst du mit der o.g. Methode.

    Mittels der getString() Methode kannst du dir dann aus der Strings.xml über die id den Wert holen.

    Gruß
    Robert
     
  6. Schau dir jetzt hier den Kurs an und lerne Java zu programmieren: --> Hier klicken, um mehr zu erfahren (Klick)