将Android中DatePickerDialog中月份的中文变成数字
在写DatePickerDialog的时候经常会出现月份是中文(或者是英文字母)的情况,如下图,这时候可恶的老板却总是要求必须要数字显示,废话不多说,直接上代码。
public class NewDatePicker extends DatePickerDialog {
private String[] mDisplayMonths = {"1", "2", "3","4", "5", "6","7", "8", "9","10", "11", "12"};
@SuppressLint("NewApi")
@Override
public void onDateChanged(DatePicker view, int year, int month, int day) {
super.onDateChanged(view, year, month, day);
setTitle(year, month, day);
//关键行
((NumberPicker)((ViewGroup) ((ViewGroup) view.getChildAt(0)).getChildAt(0)).getChildAt(1)).setDisplayedValues(mDisplayMonths);
}
}
主要意思就是找到DatePicker里面月份的显示NumberPicker,然后设定显示值。
这样就可以了。。。。。调节的时候就是数字显示了
but
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
在第一次显示的时候还是没有变化,所以在首次调用的时候,我们需要加入以下代码
dialog.show();
DatePicker dp = findDatePicker((ViewGroup) dialog.getWindow().getDecorView());
if (dp != null) {
((NumberPicker) ((ViewGroup) ((ViewGroup) dp.getChildAt(0)).getChildAt(0)).getChildAt(1)).setDisplayedValues(mDisplayMonths);
}
主要的意思就是找到dialog里面的DatePicker,然后再设定一次。。。。。。。这样就结束了效果如下
更多相关文章
- Android(安卓)EditText.setError() - 会弹出一个popupwindow,效果
- Android(安卓)ListView中动态显示和隐藏Header&Footer的方法(转)
- android wifi讲解 wifi列表显示
- 如何判断Activity是否在前台显示
- 《第一行代码Android》学习总结第三章 编写聊天界面实践
- 学习Android之SimpleAdapter显示网络图片
- android通过线程实现逐行显示信息
- android之Pickers
- Android(安卓)TextInputLayout,打造 Material Design 风格的文本