我想知道是否有任何简单的方法来基于格式化整数 使用android中的复数资源机制为负,零和正?
我想要的答案是
现在我通过代码
实现这一目标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>
如何在不必根据Android中的-ve和+ ve编号拆分它们的情况下实现上述解决方案?
答案 0 :(得分:0)
您可以像这样(在Kotlin中)或Math.abs(在Java中)将数量的绝对值用于getQuantityString中:
getQuantityString(
R.plurals.a_plural,
quantityValue.absoluteValue,
quantityValue
)
它将处理:-1、0、1和其他值