2013-05-22 12 views
22

Chcę użyć zasobu w liczbie mnogiej do wygenerowania cytowanej liczby, takiej jak "9".getQuantityString nie zastępuje formatu wartością

W moim plurals.xml:

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

Kod:

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

Gdy postCount jest 9, dlaczego text okazać się "%dd" i nie "9"?

Odpowiedz

69

Od the Android docs:

Przy wykorzystaniu metody getQuantityString(), trzeba zdać liczbę dwukrotnie, jeśli łańcuch zawiera ciąg formatowanie z numerem. Na przykład w przypadku znalezionych ciągów %d pierwszy parametr liczby wybiera odpowiedni łańcuch w liczbie mnogiej, a drugi parametr o numerze wstawiany jest do symbolu zastępczego . Jeśli twoja liczba mnoga ciągów nie zawiera formatowania ciągów, nie musisz przekazywać trzeciego parametru do getQuantityString.

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

Powiązane problemy