
我的应用程序中有一个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日期所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)