Ограничение даты Android DatePicker

Я использую DatePicket в своей деятельности,

Я хочу ограничить дату, выбранную пользователем, сегодняшней датой.

Они не должны иметь возможность выбирать дату больше, чем сегодняшняя дата.

благодарю вас.


person Ganapathy C    schedule 09.02.2011    source источник


Ответы (3)


да, вы можете сделать это очень легко, проверка здесь является примером:

if(dateObj1.before(dateObj2) || dateObj1.equals(dateObj2)){
//the program runs normally
}
else{
                new AlertDialog.Builder(PM_Edit.this)

                .setTitle("Wrong Data Input!")

                .setMessage("The end Date must be Before the start Date, please insert new Date values")

                .setNeutralButton("Ok",

                new DialogInterface.OnClickListener() {

                public void onClick(DialogInterface dialog,

                int which) {

                }

                }).show();
            }

Авторы: http://www.brighthub.com/mobile/google-android/articles/41545.aspx

person Schewns    schedule 03.03.2011

Я не работал с DatePicker, но в документации не показаны какие-либо методы, которые могут ограничить максимальную дату, отображаемую средством выбора, но вы всегда можете проверить дату, которую он возвращает, и уведомить пользователя о критерии проверки.

person Aman Alam    schedule 09.02.2011

Я согласен с Шейхом.

Возможно, рассмотрите возможность проверки введенной даты и, если она недействительна, уведомите пользователя и снова запустите DatePicker.

Кроме этого, может быть, пользовательский виджет, но я не видел стандартного способа сделать это.

person Richard    schedule 09.02.2011