android-选择日期后,显示错误的月份

这个问题已经在这里有了答案:            >            DatePicker shows wrong value of month                                    5个
我正在使用日期选择器,但是无论何时选择显示-1个月份的任何日期.
例如-如果我选择2016年12月12日,它将显示在文本框中12/11/2016
如果我选择3/1/2017,它将显示3/0/2017

这是我的日期选择器对话框的代码

editStartDate.setonClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Calendar mcurrentDate = Calendar.getInstance();
                    int mYear = mcurrentDate.get(Calendar.YEAR);
                    int mMonth = mcurrentDate.get(Calendar.MONTH);
                    int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH);

                    DatePickerDialog mDatePicker = new DatePickerDialog(TourActivity.this, new DatePickerDialog.OnDateSetListener() {
                        public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) {
                            Calendar newDate = Calendar.getInstance();
                            newDate.set(selectedyear, selectedmonth, selectedday);
                            editStartDate.setText(selectedday + "/" + selectedmonth + "/" + selectedyear);
                        }
                    }, mYear, mMonth, mDay);
                    mDatePicker.setTitle("Select date");
                    mDatePicker.show();

                }
            });

请建议我在哪里输入错误代码.

解决方法:

在这种情况下,月份计数从0开始.因此,您必须添加1才能显示.

  editStartDate.setText(selectedday + "/" + (selectedmonth + 1) + "/" + selectedyear);

另请参阅此问题以供参考:Why is January month 0 in Java Calendar?

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...