Wie kann ich statische Zeichenfolgen mit XML-String-Ressourcen verknüpfen?

Ich versuche, eine statische "hartcodierte" Zeichenfolge zu kombinieren, wobei eine von strings.xml für String-Array-Elemente referenziert ist.

Das Ziel ist es, eine dynamische Metrikliste zu haben, in der die Nummer für alle Sprachen gleich ist, aber der Metriktextwert kann sich nach Sprache ändern, so etwas wie folgt:

  • Android Facebook API und ShareLinkContent
  • Match_parent width funktioniert nicht in RecyclerView
  • Android - Akkordeon-Widget
  • Wie kann man den On / Off-Status in onStop () überprüfen?
  • Wie kann ich in jeder Zelle einer ListView einen Schatten setzen?
  • Android: AdMob funktioniert nicht
  •  <string-array name="interval_labels"> <item>30 @string/second</item> <item>1 @string/minute</item> <item>5 @string/minute</item> <item>10 @string/minute</item> <item>15 @string/minute</item> <item>30 @string/minute</item> <item>60 @string/minute</item> </string-array> 

    Im Moment, wenn ich die Nummern vor den @string/... Referenzen @string/... , funktioniert es gut (wie hier erwähnt), aber ich habe mich gefragt, ob es einen Weg gibt, den referenzierten String abzurufen und ihn auf die "hartcodierten" eins.

  • Android: Maximale Höhe einer Ansicht programmgesteuert einstellen
  • Android Turn On / Off WiFi HotSpot programmgesteuert
  • Bitmap getWidth gibt falschen Wert zurück
  • Wie lade ich meine App von Eclipse auf mein Android-Handy statt AVD
  • Ändern von TabPageIndicator-Fußzeilen und Textfarben (ViewPagerIndicator)
  • Android API Demos - ICS - RotatingButton
  • 3 Solutions collect form web for “Wie kann ich statische Zeichenfolgen mit XML-String-Ressourcen verknüpfen?”

    Sorry, keine solche Syntax wird von Android-Ressource-Dateien unterstützt.

    Mit XML-Entitäten ist es möglich.

     <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE resources [ <!ENTITY mintues "minutes"> <!ENTITY minute "minute"> <!ENTITY seconds "seconds"> ]> <resources> <string-array name="interval_labels"> <item>30 &seconds;</item> <item>1 &minute;/item> <item>5 &minutes;</item> <item>10 &minutes;</item> <item>15 &minutes;</item> <item>30 &minutes;</item> <item>60 &minutes;</item> </string-array> </resources> 

    Ich habe diese Antwort verwendet: dynamic String mit String.xml?

    Es gibt einen Weg, um diesen Effekt zu erhalten, indem String.format() die String-Ressource mit einem Platzhalter definiert und String.format() Stil-Überladung von getResourses().getString() im Code hinter:

    In string.xml

     <string name="secs">%1$d seconds</string> 

    In activity_layout.xml

     <TextView android:id="@+id/secs_label" /> 

    In TheActivity.java

     ((TextView)findViewByID(R.id.secs_label)).setText(getResources().getString(R.string.secs, 25)); 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.