我正在使用numberPicker,并在我的numberPicker中找到了显示00、01、02 …的答案,我使用了setFormatter.问题是,当我调用getValue()时,我将得到0、1、2 …我需要得到00、01、02 …,以便我可以在其他视图中将其显示为文本.反正有这样做吗?有或没有setFormatter.
我已经在网上搜索过,并检查是否还有其他人遇到相同的问题,但找不到任何东西:(.也考虑过使用timePicker / datePicker,但后来我遇到了同样的问题.
numberPickerLeftHours.setMinValue(0);
numberPickerLeftHours.setMaxValue(23);
//Put a extra 0 in front of single numbers.
numberPickerLeftHours.setFormatter(new NumberPicker.Formatter() {
@SuppressLint("DefaultLocale")
@Override
public String format(int value) {
Log.i(TAG, "onCreate: numberPickerLeftHours.getValue(): " + numberPickerLeftHours.getValue());
return String.format("%02d", value);
}
});
所以我的Log.i();值是0、1、2 …但我需要00、01 … 09、10、11、12至23.
解决方法:
对不起,我的评论不好,所以代码看起来像这样:
numberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker numberPicker, int i, int i1) {
String formated = String.format("%02d", numberPicker.getValue());
Log.d("PickerValue", formated);
yourTextView.setText(formated);
}
});
标签:numberpicker,java,android 来源: https://codeday.me/bug/20191210/2104421.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。