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. 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 helfen dir diese Java-Grundlagen weiter --> *Klick*
  3. 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. 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. 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. KOSTENLOSES Java-Grundlagen Training im Wert von 39 € Sichere dir hier den kostenlosen Zugriff auf umfangreiches Java-Know How und starte richtig durch!