相关疑难解决方法(0)

在Android中设置DatePickerDialog的限制?

如何限制DatePickerDialog选择过去2 - 12年或当前日期0 - 2年的日期?

我在活动中有DatePickerDialog,用于获取儿童和婴儿的出生日期.儿童年龄为(2-12岁),婴儿年龄为(0-2岁).如果我通过1,那么年龄限制应该是(2-12岁),如果我通过2岁,年龄限制应该是(0-2岁).

我该怎么做才能在我的日历中获得此功能?

我的日历代码是:

date = new DatePickerDialog.OnDateSetListener() {

            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear,
                    int dayOfMonth) {
                // TODO Auto-generated method stub
                myCalendar.set(Calendar.YEAR, year);
                myCalendar.set(Calendar.MONTH, monthOfYear);
                myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
                String myFormat = "dd/MM/yy"; //In which you need put here
                SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.US);
                dateofBirth.setText(sdf.format(myCalendar.getTime()));
            }
        };

dateofBirth.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                showDialog(DATE_DIALOG_ID);

            }
        });

public Dialog onCreateDialog(int id) {
    final …
Run Code Online (Sandbox Code Playgroud)

android android-datepicker datepickerdialog

40
推荐指数
1
解决办法
5万
查看次数

如何在DatePickerDialog Android中禁用今天日期之前的日期?

我想在DatePickerDialog中禁用今天日期之前的日期.我是android的新手请建议我怎么能这样做.这是我为DatePickerDialog编写的代码

 final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {

            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear,
                    int dayOfMonth) {
                // TODO Auto-generated method stub
                    myCalendar.set(Calendar.YEAR, year);
                    myCalendar.set(Calendar.MONTH, monthOfYear);
                    myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
                    updateLabel(val);
            }
        };
        depart.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    new DatePickerDialog(this, date, myCalendar
                            .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
                            myCalendar.get(Calendar.DAY_OF_MONTH)).show();
                    val=1;
                }
            });

        returnDate.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    new DatePickerDialog(this, date, myCalendar
                            .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
                            myCalendar.get(Calendar.DAY_OF_MONTH)).show();
                            val=2; …
Run Code Online (Sandbox Code Playgroud)

android android-datepicker android-layout

11
推荐指数
3
解决办法
5万
查看次数

Datepicker给出的时间不在异常之间

我正在使用一个日期选择器,并希望将最小日期设置为今天,并将最大日期设置为今天提前一年.

我这样做:

datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
            cal.add(Calendar.YEAR, 1);
            datePickerDialog.getDatePicker().setMaxDate(cal.getTimeInMillis());
Run Code Online (Sandbox Code Playgroud)

当我不做 - 1000然后我得到另一个例外:

java.lang.IllegalArgumentException: fromDate: Sat Apr 11 23:59:59 CEST 2015 does not precede toDate: Sat Apr 11 08:24:19 CEST 2015
Run Code Online (Sandbox Code Playgroud)

那是因为日期可能不等于今天.所以我提取1000毫秒.

我不知道如何解决新的异常.我试着在maxDate上计算+ 1000毫秒但是没有解决它.

编辑:

我像这样创建我的cal:

 cal = Calendar.getInstance();
        datePickerDialog = new DatePickerDialog(getActivity(), this, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DATE));
Run Code Online (Sandbox Code Playgroud)

android android-datepicker

6
推荐指数
1
解决办法
6358
查看次数

Android DatePickerDialog Api 23 (Android 6)

我正在触发一个 DatePickerDialog,它工作并显示良好,直到 api 22 (Android 5.1),我在其上设置混合和最大日期(最小 = 当前日期,最大 = 从当前日期开始的 1 个月),但它只是显示当前日期在 Api 23 中,我附上了代码和图像。

///////////////////////////////datepickerdialog///////////////////////////////
public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener{

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState){
        final Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);
        int day = calendar.get(Calendar.DAY_OF_MONTH);

        /*
            Create a DatePickerDialog using Theme.

                DatePickerDialog(Context context, int theme, DatePickerDialog.OnDateSetListener listener,
                    int year, int monthOfYear, int dayOfMonth)
         */

        // DatePickerDialog THEME_DEVICE_DEFAULT_LIGHT
        DatePickerDialog dpd = new DatePickerDialog(getActivity(),this,year,month,day);

        if (Build.VERSION.SDK_INT < 22){

            dpd.getDatePicker().setCalendarViewShown(true);
            dpd.getDatePicker().setSpinnersShown(false);
            dpd.getDatePicker().getCalendarView().setShowWeekNumber(false); …
Run Code Online (Sandbox Code Playgroud)

android android-5.1.1-lollipop android-6.0-marshmallow

5
推荐指数
1
解决办法
5995
查看次数