Android日历设置今天的日期并阻止用户选择过去的日期

时间:2016-05-19 18:34:05

标签: android date datetime calendar integer

您好我试图设置日期选择器的日期,当用户点击我的txtdate时,它会显示日期选择器的日期,它将显示位于我的代码底部的日期15/05/2016。但我希望日期自动更新为当前日期,但我不确定如何将其添加到我的代码中。我也试图限制用户过去选择日期。任何输入都是最有益的。

    txtDate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            DatePickerDialog dialog = new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() {
                @Override
                public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                    int month=monthOfYear+1;
                    String date= dayOfMonth+"";



                    int time = year + monthOfYear + dayOfMonth;

                    if(date.length()==1)
                        date="0"+date;
                    date=month+date;
                    txtDate.setText(dayOfMonth+"/"+month+"/"+year);
                    int dateInt = Integer.parseInt(date);
                    if(dateInt<=630 && dateInt>=605)
                        txtStatus.setText("Closed");
                    else
                        txtStatus.setText("Open");

                }

            },2016,05, 15);
            dialog.show();
        }
    });
    return rootView;
}
}

更清晰的例子

1 个答案:

答案 0 :(得分:0)

全局变量

int year_x, month_x, day_x;   

的OnCreate

final Calendar myCalendar = Calendar.getInstance();

    year_x = myCalendar.get(Calendar.YEAR);
    month_x = myCalendar.get(Calendar.MONTH);
    day_x = myCalendar.get(Calendar.DAY_OF_MONTH);

OnDataSet

 @Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

year_x = year;
month_x = monthOfYear;
day_x = dayOfMonth;

更改底线静态日期

},2016,05, 15);

}, year_x,month_x,day_x);