Android DatePicker:安装后,我的手机不会禁用以前的日期,但在模拟器上可以完美工作

Android DatePicker:安装后,我的手机不会禁用以前的日期,但在模拟器上可以完美工作,android,android-datepicker,Android,Android Datepicker,我正在使用带有按钮的日期选择器从对话框中进行选择,然后将其显示在编辑文本上。此外,我正在基于当前日期禁用以前的日期 所以我在我的应用程序中有了这个onClick方法: @Override public void onClick(View v) { if (v == btnCalendar) { // Process to get Current Date final Calendar c = Calendar.getInstance();

我正在使用带有
按钮的
日期选择器
对话框
中进行选择,然后将其显示在
编辑文本
上。此外,我正在基于当前日期禁用以前的日期

所以我在我的应用程序中有了这个
onClick
方法:

@Override
public void onClick(View v) {

    if (v == btnCalendar) {

        // Process to get Current Date
        final Calendar c = Calendar.getInstance();
        mYear = c.get(Calendar.YEAR);
        mMonth = c.get(Calendar.MONTH);
        mDay = c.get(Calendar.DAY_OF_MONTH);

        // Launch Date Picker Dialog
        DatePickerDialog dpd = new DatePickerDialog(this,
                new DatePickerDialog.OnDateSetListener() {

                    @Override
                    public void onDateSet(DatePicker view, int year,
                            int monthOfYear, int dayOfMonth) {
                        // Display Selected date in textbox

                         if (year < mYear)
                                view.updateDate(mYear,mMonth,mDay);

                            if (monthOfYear < mMonth && year == mYear)
                                view.updateDate(mYear,mMonth,mDay);

                            if (dayOfMonth < mDay && year == mYear && monthOfYear == mMonth)
                                view.updateDate(mYear,mMonth,mDay);

                        txtDate.setText(dayOfMonth + "-"
                                + (monthOfYear + 1) + "-" + year);

                    }
                }, mYear, mMonth, mDay);
        dpd.show();
    }   }
@覆盖
公共void onClick(视图v){
如果(v==btnCalendar){
//获取当前日期的过程
最终日历c=Calendar.getInstance();
mYear=c.get(日历年);
mMonth=c.get(日历月);
mDay=c.get(日历,月的第天);
//启动日期选择器对话框
DatePickerDialog dpd=新的DatePickerDialog(此,
新建DatePickerDialog.OnDateSetListener(){
@凌驾
公共无效onDateSet(日期选择器视图,整数年,
int monthOfYear,int dayOfMonth){
//在文本框中显示所选日期
如果(年<年)
view.updateDate(mYear,mMonth,mDay);
如果(月日<月日<年==mYear)
view.updateDate(mYear,mMonth,mDay);
如果(月日<日和年==月日和月日==月日)
view.updateDate(mYear,mMonth,mDay);
txtDate.setText(dayOfMonth+“-”
+(一年+一年)+“-”+一年);
}
},mYear,Ammonth,mDay);
dpd.show();
}   }
我的问题是,它在模拟器上工作得很好,但当我把它安装在手机上时,它就不工作了。我的意思是之前的日期没有被禁用。这是选择哪一个不应该发生对吗?我怎样才能解决这个问题?我使用的是安卓果冻豆4.4

提前感谢。

dpd.show()之前。
尝试
dpd.getDatePicker().setMinDate(您在此的日期)
。如果这是您的要求之一,您还可以设置最长日期


希望这有帮助

您可以在日期选择器上设置开始日期,如果您使用今天的日期,则过去的日期将无法访问,因此您可以帮助我设置它吗?我的日子不好过。谢谢你需要使用Calendar.getInstance().getTime(),才能每天都能看到今天你这个该死的家伙。这真是太棒了,在手机上效果很好。谢谢。当心。