我正在使用Quantity Strings来显示在自定义对话框中的Number Pickers中选择的值。
由于我的号码是我想要做某项活动的时间和分钟,所以选择的值会出现在选择器下面的文本视图中。
在小时选择器上,当我最初选择时,它响应于XML文件中定义的“0”值,但随后,在为小时选择了其他值之后,它将我的选择视为“ other E 219”,而不是“E 1200E 221”。请指点!
我的res/value/strings.xml s.xml如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<plurals name="hour_picker">
<item quantity="zero">"You want to walk for "</item>
<item quantity="one">"You want to walk for %1$d hour and "</item>
<item quantity="other">"You want to walk for %1$d hours and "</item>
</plurals>
<plurals name="minute_picker">
<item quantity="one"> %1$d minute</item>
<item quantity="other"> %1$d minutes</item>
</plurals>
</resources>.java文件如下:
public class SelectDurationDialogFragment extends DialogFragment implements NumberPicker.OnValueChangeListener {
NumberPicker hour_picker,minute_picker;
TextView hour_txt,minute_txt;
...
@Override
public void onValueChange(NumberPicker numberPicker, int i, int i1) {
switch (numberPicker.getId()){
case R.id.numberPicker1:
hour_txt.setText(String.format(getResources().getQuantityString((R.plurals.hour_picker),i1),i1));
break;
case R.id.numberPicker2:
minute_txt.setText(String.format(getResources().getQuantityString((R.plurals.minute_picker),i1),i1));
break;
}
}发布于 2016-08-16 15:32:32
来自http://developer.android.com/guide/topics/resources/string-resource.html#Plurals
只根据语法需要选择要使用的字符串。在英语中,即使数量为0,表示零的字符串也将被忽略,因为0在语法上与2或除1以外的任何其他数字(“零书”、“一本书”、“两本书”等)没有语法上的区别。相反,在朝鲜语中,只有其他字符串才会被使用。
也不要被这样的事实所误导,比如说,两种声音只适用于数量2:一种语言可能要求2、12、102 (等等)都被彼此对待,但与其他数量不同。依靠你的译者知道他们的语言实际上坚持什么区别。
https://stackoverflow.com/questions/38978482
复制相似问题