如何在android的复数资源中表示负数
我想知道是否有任何简单的方法可以根据 在安卓系统中使用多元资源机制的消极、零和积极 我想要的答案是如何在android的复数资源中表示负数,android,xml,plural,Android,Xml,Plural,我想知道是否有任何简单的方法可以根据 在安卓系统中使用多元资源机制的消极、零和积极 我想要的答案是 如果GetRestaining()1,则“GetLeveling()剩余天数” 现在,我通过以下代码实现这一点 if (item.getRemaining() > -1) { holder.remainingTV.setText(res.getQuantityString(R.plurals.plural_remaining, item.getRemaining(),
- 如果GetRestaining()<-1,则“GetRestaining()|天之前”
- 如果GetRestaining()==-1,则“| GetRestaining()|前一天”
- 如果GetLeveling()==0,则“GetLeveling()剩余天数”
- 如果GetLeveling()==1,则“GetLeveling()剩余天数”
- 如果GetLeveling()>1,则“GetLeveling()剩余天数”
if (item.getRemaining() > -1) {
holder.remainingTV.setText(res.getQuantityString(R.plurals.plural_remaining, item.getRemaining(),
item.getRemaining()));
} else {
holder.remainingTV.setText(res.getQuantityString(R.plurals.plural_ago, -item.getRemaining(), -item.getRemaining()));
}
我的资源是这样的
<plurals name="plural_remaining">
<item quantity="one">%d Day Remaining</item>
<item quantity="other">%d Days Remaining</item>
</plurals>
<plurals name="plural_ago">
<item quantity="one">%d Day Ago</item>
<item quantity="other">%d Days Ago</item>
</plurals>
%d剩余天数
%d剩余天数
%一天前
%d天前
如何实现上述解决方案,而不必在android中基于-ve和+ve数字进行拆分?您可以将数量的绝对值用在getQuantityString中,如下所示(在Kotlin中)或Math.abs(在Java中): 它将处理:-1、0、1和其他值
getQuantityString(
R.plurals.a_plural,
quantityValue.absoluteValue,
quantityValue
)