从复数获得一个string在XML中使用?

我正在使用复数来简化我的代码。 例如,我曾经拥有

<string name="cat">Cat</string> <string name="cats">Cats</string> 

使用复数而不是多个string,我现在有

 <plurals name="cats"> <item quantity="one">Cat</item> <item quantity="other">Cats</item> </plurals> 

不过,我曾经检索过string,将其用作XML中的标题或摘要。 例如,

 android:title="@string/cats" 

已经删除该string赞成复数,我现在不确定如何从XML中检索我的string。 我做了一个天真的尝试

 android:title="@plurals/cats" 

但这只是给我@1234567890而不是Cats (或Cat )。

任何人都知道是否有可能检索从XML复数string?

你必须通过代码来设置它:

 ...setText(yourContext.getResources().getQuantityString(R.plurals.cats, catsCountVar)); 

您可以通过将string资源保留在原处并在复数资源中引用它们来获得Plurals的运行时好处以及string资源的静态好处。

https://developer.android.com/guide/topics/resources/string-resource.html#Plurals (强调添加)。

<item>

复数或单数的string 该值可以是对另一个string资源的引用。 必须是一个元素的孩子。 当心你必须解开撇号和引号。 请参阅下面的“格式和样式”,了解有关正确设置string样式和格式的信息。 例:

 <string name="cat">Cat</string> <string name="cats">Cats</string> <plurals name="cats"> <item quantity="one">@string/cat</item> <item quantity="other">@string/cats</item> </plurals> 

现在你可以在XML文件中使用android:title="@string/cats" ,也可以使用

 getQuantityString(R.plurals.cats, numberOfCats) 

在运行时。