android 复数资源,Android复数处理“零”

这是我用来处理此问题而不切换到MessageFormat的解决方法。

首先,我将“零”字符串提取到自己的字符串资源中。

No items.

@string/x_items_zero

One item.

%d items.

然后我在我自己的ResourcesUtil中有一些方便的方法

public static String getQuantityStringZero(Resources resources, int resId, int zeroResId, int quantity) {

if (quantity == 0) {

return resources.getString(zeroResId);

} else {

return resources.getQuantityString(resId, quantity, quantity);

}

}

public static String getQuantityStringZero(Resources resources, int resId, int zeroResId, int quantity, Object... formatArgs) {

if (quantity == 0) {

return resources.getString(zeroResId);

} else {

return resources.getQuantityString(resId, quantity, formatArgs);

}

}

现在,无论何时我想使用特定字符串作为数量零,我都会调用:

String pluralString = ResourcesUtil.getQuantityStringZero(

getContext().getResources(),

R.plural.x_items,

R.string.x_items_zero,

quantity

);

我希望有更好的东西,但这至少可以完成工作,同时保持字符串资源XML清晰。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值