Android DatePicker:根据CURRENT日期禁用PREVIOUS日期

Android DatePicker:根据CURRENT日期禁用PREVIOUS日期,第1张

概述我的应用程序中有一个DatePicker,它以这种方式设置:布局:<TextViewandroid:id="@+idraveltext"android:layout_width="wrap_content"android:layout_height="wrap_content"

我的应用程序中有一个DatePicker,它以这种方式设置:

布局:

            <TextVIEw                androID:ID="@+ID/traveltext"                androID:layout_wIDth="wrap_content"                androID:layout_height="wrap_content"                androID:layout_weight="1.11"                androID:text="Date Of Travel"                androID:textStyle="bold" />             <EditText            androID:ID="@+ID/txtDate"            androID:layout_wIDth="wrap_content"            androID:layout_height="wrap_content"            androID:layout_weight="1" >        </EditText>              <button            androID:ID="@+ID/btnCalendar"            androID:layout_wIDth="30dp"            androID:layout_height="42dp"            androID:layout_marginRight="50dp"            androID:background="@drawable/date" >        </button>        </linearLayout>

全球价值观:

button btnCalendar;EditText txtDate;private int mYear, mMonth, mDay;

OnCreate:

btnCalendar = (button) findVIEwByID(R.ID.btnCalendar);    txtDate = (EditText) findVIEwByID(R.ID.txtDate);    btnCalendar.setonClickListener(this);

方法 :

 @OverrIDepublic 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                        txtDate.setText(dayOfMonth + "-"                                + (monthOfYear + 1) + "-" + year);                    }                }, mYear, mMonth, mDay);        dpd.show();    }   }

现在我的问题是,如何根据CURRENT日期禁用PREVIoUS日期?

请帮忙.谢谢.

解决方法:

private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {    // the callback received when the user "sets" the Date in the    // DatePickerDialog    public voID onDateSet(DatePicker vIEw, int yearSelected,            int monthOfYear, int dayOfMonth) {        year = yearSelected;        month = monthOfYear + 1;        day = dayOfMonth;        // Set the Selected Date in Select date button        txtarrivedate.setText(year + "-" + month + "-" + day);    }};

//当调用showDialog()方法时,方法会自动调用

   @OverrIDe   protected Dialog onCreateDialog(int ID) {    switch (ID) {    case 1:        // create a new DatePickerDialog with values you want to show        DatePickerDialog da = new DatePickerDialog(this, mDateSetListener,                mYear, mMonth, mDay);        Calendar c = Calendar.getInstance();        c.add(Calendar.DATE, 1);        Date newDate = c.getTime();        da.getDatePicker().setMinDate(newDate.getTime());        return da;        // create a new TimePickerDialog with values you want to show    case 2:        // create a new DatePickerDialog with values you want to show        DatePickerDialog da1 = new DatePickerDialog(this,                mDateSetListener2, mYear, mMonth, mDay);        Calendar c1 = Calendar.getInstance();        c1.add(Calendar.DATE, 1);        Date newDate2 = c1.getTime();        da1.getDatePicker().setMinDate(newDate2.getTime());        return da1;    }    return null;}

仅使用用于调用对话框
的ShowDialog(1);

总结

以上是内存溢出为你收集整理的Android DatePicker:根据CURRENT日期禁用PREVIOUS日期全部内容,希望文章能够帮你解决Android DatePicker:根据CURRENT日期禁用PREVIOUS日期所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1099472.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存