如何在android中设置日期选择器的最小和最大限制?

如何在android中设置日期选择器的最小和最大限制?,第1张

概述我正在开发一个应用程序,我正在使用自定义日期和时间选择器. 我已经创建了一个对话框,里面我现在分别显示日期和时间选择器,我想设置日期选择器的最小和最大限制. 例如,一个人不应该从今天开始选择前一个日期,也不能超过一个月. 这是我的代码 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 我正在开发一个应用程序,我正在使用自定义日期和时间选择器.
我已经创建了一个对话框,里面我现在分别显示日期和时间选择器,我想设置日期选择器的最小和最大限制.
例如,一个人不应该从今天开始选择前一个日期,也不能超过一个月.
这是我的代码
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());            final DatePicker picker = new DatePicker(getActivity());            try {                FIEld f[] = picker.getClass().getDeclaredFIElds();                for (FIEld fIEld : f) {                    if (fIEld.getname().equals("mYearPicker") || fIEld.getname().equals("mYearSpinner")) {                        fIEld.setAccessible(true);                        Object yearPicker = new Object();                        yearPicker = fIEld.get(picker);                        ((VIEw) yearPicker).setVisibility(VIEw.GONE);                    }                }            } catch (Exception ex) {                ex.printstacktrace();            }            picker.setCalendarVIEwShown(false);            picker.setMinDate(new  Date().getTime());            builder.setTitle("Please select date on which you would be leaving :")                    .setVIEw(picker)                    .setPositivebutton("OK",new DialogInterface.OnClickListener() {                                public voID onClick(DialogInterface dialog,int whichbutton) {                                    SimpleDateFormat parseFormat = new SimpleDateFormat("EEE dd MMM");                                    Date date1 = new Date();                                    date1.setDate(picker.getDayOfMonth());                                    date1.setMonth(picker.getMonth());                                    final String s = parseFormat.format(date1);                                    Log.e("DATE",s);                                    SimpleDateFormat sdf=new SimpleDateFormat("MM-dd-yyyy");                                    Date date2=new Date();                                    date2.setDate(picker.getDayOfMonth());                                    date2.setMonth(picker.getMonth());                                    final String s2=sdf.format(date2);                                    //Time picker                                    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());                                    final TimePicker picker = new TimePicker(getActivity());                                    picker.setIs24HourVIEw(true);                                    builder.setTitle("Please select time at which you would be leaving :")                                            .setVIEw(picker)                                            .setPositivebutton("OK",new DialogInterface.OnClickListener() {                                                        public voID onClick(DialogInterface dialog,int whichbutton) {                                                            int hour = picker.getCurrentHour();                                                            int minute = picker.getCurrentMinute();                                                            leaving.setTextSize(14);                                                            leaving.setText(s + " " + hour + ":" + minute);                                                            inTime=s2+" "+hour+":"+minute;                                                            Log.e("inTime ",inTime);                                                        }                                                    })                                            .setNegativebutton("Cancel",new DialogInterface.OnClickListener() {                                                public voID onClick(DialogInterface dialog,int whichbutton) {                                                    leaving.setText("");                                                    inTime="";                                                    dialog.dismiss();                                                }                                            }).create().show();                                    //Time picker                                }                            }                    )                    .setNegativebutton("Cancel",int whichbutton) {                                    leaving.setText("");                                    inTime="";                                    dialog.dismiss();                                }                            }                    )                    .create().show();

请帮忙.谢谢

解决方法 试试这个,这从今天到datepicker对话框中的下一个5年日期显示.
public class MainActivity extends Activity {    TextVIEw txtDatePicker;    Calendar cal,cal1;    long maxDate;    Date date;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.activity_main);        cal = Calendar.getInstance();        cal1 = Calendar.getInstance();        txtDatePicker = (TextVIEw) findVIEwByID(R.ID.txtDatePicker);        txtDatePicker.setonClickListener(new OnClickListener() {            @OverrIDe            public voID onClick(VIEw arg0) {                // Todo auto-generated method stub                DatePickerDialog dialog = new DatePickerDialog(MainActivity.this,new OnDateSetListener() {                    @OverrIDe                    public voID onDateSet(DatePicker arg0,int arg1,int arg2,int arg3) {                        // Todo auto-generated method stub                        Toast.makeText(MainActivity.this,""+arg1+"/"+(arg2+1)+"/"+arg3,Toast.LENGTH_SHORT).show();                    }            },cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),cal.get(Calendar.DAY_OF_MONTH));            dialog.getDatePicker().setMinDate(System.currentTimeMillis());            cal1.add(Calendar.YEAR,5);            dialog.getDatePicker().setMaxDate(cal1.getTimeInMillis());            dialog.show();        }    });  }}
总结

以上是内存溢出为你收集整理的如何在android中设置日期选择器的最小和最大限制?全部内容,希望文章能够帮你解决如何在android中设置日期选择器的最小和最大限制?所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存