将Android中DatePickerDialog中月份的中文变成数字

来源:互联网 发布:淘宝优惠券领取 编辑:程序博客网 时间:2024/06/17 06:03

在写DatePickerDialog的时候经常会出现月份是中文(或者是英文字母)的情况,如下图,这时候可恶的老板却总是要求必须要数字显示,废话不多说,直接上代码。












publicclass NewDatePickerextends DatePickerDialog {

     privateString[] mDisplayMonths = {"1","2", "3","4","5", "6","7","8", "9","10","11", "12"};


@SuppressLint("NewApi")

@Override

public void onDateChanged(DatePickerview, intyear, intmonth, intday) {

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();

DatePickerdp = findDatePicker((ViewGroup) dialog.getWindow().getDecorView());

if (dp !=null) {

     ((NumberPicker) ((ViewGroup) ((ViewGroup)dp.getChildAt(0)).getChildAt(0)).getChildAt(1)).setDisplayedValues(mDisplayMonths);

}

主要的意思就是找到dialog里面的DatePicker,然后再设定一次。。。。。。。这样就结束了


效果如下



原创粉丝点击