2013-05-22 4 views
22

Ich möchte die Plural Ressource verwenden, um eine zitierte Zahl wie "9" zu produzieren.getQuantityString ersetzt das Format nicht durch den Wert

In meinem plurals.xml:

<plurals name="posts"> 
    <item quantity="other">\"%dd\"<\item> 
</plurals> 

Der Code:

String text = res.getQuantityString(R.plurals.posts, meUser.postCount); 

Wenn die postCount 9 ist, warum tut text entpuppen "%dd" und nicht als "9"?

Antwort

69

Von the Android docs:

Wenn die getQuantityString() Methode verwenden, müssen Sie zweimal die Zählung passieren, wenn die Zeichenfolge Zeichenfolge mit einer Zahlenformatierung enthält. Zum Beispiel für die Zeichenfolge %d Songs gefunden, die erste Anzahl Parameter wählt die entsprechende Plural Zeichenfolge und die zweite Anzahl Parameter wird in den %d Platzhalter eingefügt. Wenn Ihre Pluralzeichenfolgen keine Zeichenfolgenformatierung enthalten, müssen Sie den dritten Parameter nicht an getQuantityString übergeben.

dh res.getQuantityString(R.plurals.numberOfSongsAvailable, count, count);

Verwandte Themen