Jak korzystać ilość wierszy na Android (liczba mnoga)?

staram się używać getQuantityString metoda w zasobach do pobierania wierszy ilości (wieloskładnikowych) na podstawie wytycznych programisty android Wiersz Ilości (Liczba Mnoga)

błąd, który dostaję, to

Error:(604) Multiple substitutions specified in non-positional format; did you mean to add the formatted="false" attribute?
Error:(604) Found tag </item> where </plurals> is expected

kiedy ja ustalam wiele, jak pokazano poniżej

<plurals name="productCount">
    <item quantity="one" formatted="true">%1$d of %2$d product</item>
    <item quantity="other" formatted="true">%1$d of %2$d products</item>
</plurals>

i próbuje go przeczytać jak poniżej

productIndexCountText.setText(getResources().getQuantityString(R.plurals.productCount, position, size));

jeden obejście-złamać wiersz, aby użyć liczba mnoga tylko do ostatniej części wiersza i конкатенировать dwie części. Ale ja staram się tego nie robić.


nie trzeba instalować atrybut "sformatowany" dla każdego z tych elementów. Podczas korzystania z wierszy ilości istnieją tylko trzy możliwości:

  1. wiersz zasobu jest prostym tekstem i nie zawiera żadnych ustawień
  2. string zasób zawiera tylko jeden parametr (najprawdopodobniej, liczba); korzystanie z %d lub dowolny format, który jest ci potrzebny
  3. string zasób zawiera kilka parametrów, wszystkie parametry muszą być dostępne ich położenie, np. %1$d

jeśli chodzi o getQuantityString metoda, są dwie przeciążenia: tylko jedna z identyfikatorem ressource i liczbą, i jedna z opcjonalnym