Handhabung von Android dynamischen Textstring in res / values

Angenommen, ich habe diese Saite:

Ihr Spieler hat einen guten Keeper Geschick und eine anständige Menschen Geschick

Nun ist der Teil, der nicht fett von der Saite ist, immer derselbe, was zur Laufzeit bekannt ist, ist der Teil in Fettschrift.

Also wie könnte ich so etwas machen:

Dein Spieler hat eine {var1} Keeper Skill und eine {var2} Menschen Geschick

Und fülle dann diese Vars zur Laufzeit mit richtigen Werten?

Ich möchte keine Saiten wie:

"You player has a" + var1 + "keeper skill and a" + var2 + "people skill" 

  • Retrofit + RxJava schlägt keine Antworten vor, vermutete Antwort-Header
  • NDK kompiliert mehrere Bibliotheken
  • Abmelden eines LocationListeners vom LocationManager
  • Was ist jQuery Mobile ?. Ist es fähig, Spiele für Android zu erstellen?
  • Gradle-Abhängigkeit auf der Grundlage von Bauart und Geschmack
  • Gridview-Show nach der tatsächlichen Höhe innerhalb der Scroll-Ansicht
  • Android MenuItem Toggle-Taste
  • Genymotion Google Nexus 6P 7.0.0 mit Open_Gapps Arm 7.0.0
  • 4 Solutions collect form web for “Handhabung von Android dynamischen Textstring in res / values”

    Sie müssen Android String Resource Guide sehen. Es gibt eine Möglichkeit, statische Zeichenfolge bereitzustellen, die später mit Variablen formatiert werden kann.

    http://developer.android.com/guide/topics/resources/string-resource.html#FormattingAndStyling

    Sie definieren String wie

     <resources> <string name="welcome_messages">Hello, %1$s! You have &lt;b>%2$d new messages&lt;/b>.</string> </resources> 

    Und später in Code können Sie ersetzen

     Resources res = getResources(); String text = String.format(res.getString(R.string.welcome_messages), username, mailCount); CharSequence styledText = Html.fromHtml(text); 

    In Strings.xml

     You player has a %1$d keeper skill and a %2$d people skill 

    In java

     getString(R.string.article_stats, var1, var2); 

    Ja, siehe folgendes von android devguide

    Wenn Sie Ihre Strings mit String.format(String, Object...) formatieren müssen, können Sie dies tun, indem Sie Ihre String.format(String, Object...) in die String-Ressource setzen. Zum Beispiel mit der folgenden Ressource:

     <string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string> 

    In diesem Beispiel hat der Formatstring zwei Argumente:% 1 $ s ist ein String und% 2 $ d ist eine Dezimalzahl. Sie können die Zeichenfolge mit Argumenten aus Ihrer Anwendung wie folgt formatieren:

     Resources res = getResources(); String text = String.format( res.getString(R.string.welcome_messages), username, mailCount); 

    In Strings xml Du hast HTML-Syntax in CDATA-Tag wie

     <![CDATA[<b> %1$s bought </b>, last purchased from %2$s <b> %3$s </b>]]> 

    Und in deiner Java-Klasse

     String detail = String.format(getString(R.string.detail),15,"New Delhi","23 mins ago"); detailView.setText(Html.fromHtml(detail )); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.