Java 希望在日期选择器上选择上一个日期。(安卓)

Java 希望在日期选择器上选择上一个日期。(安卓),java,android,datepicker,timepicker,Java,Android,Datepicker,Timepicker,我在自定义对话框中有一个日期选择器和一个时间选择器。如果我在日期选择器上更改日期,它将在Textview上更新。但当我再次选择日期选择器时,它会给出今天的日期。我希望上一个选定的日期显示在日期选择器上。 这是我的密码。请帮忙 from.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stu

我在自定义对话框中有一个日期选择器和一个时间选择器。如果我在日期选择器上更改日期,它将在Textview上更新。但当我再次选择日期选择器时,它会给出今天的日期。我希望上一个选定的日期显示在日期选择器上。 这是我的密码。请帮忙

from.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub

            picker = new Dialog(getActivity());
            picker.setContentView(R.layout.datetime);
            picker.setTitle("Select Date and Time");
            datep = (DatePicker) picker.findViewById(R.id.datePicker);
            timep = (TimePicker) picker.findViewById(R.id.timePicker1);

            set = (Button) picker.findViewById(R.id.btnSet);
            set.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    // TODO Auto-generated method stub
                    month = datep.getMonth() + 1;
                    day = datep.getDayOfMonth();
                    year = datep.getYear();
                    hour = timep.getCurrentHour();
                    minute = timep.getCurrentMinute();
                    from.setText(year + "-" + month + "-" + day + " "
                            + hour + ":" + minute);
                    picker.dismiss();



                }
            });
            picker.show();
        }
    });    
您有两种选择:

1) 将上一个选择的日期、月份和年份保存在变量中,并将它们设置到DatePickerDialog中


2) 从文本中获取保存的日期-并将其设置为DatePickerDialog

您需要在DatePicker对话框中添加OnDateSetListener,如下所示:

/**
 * Initialize DatePickerDialog
 */
private void initDatePicker() {
    myCalendar = Calendar.getInstance();

    date = new DatePickerDialog.OnDateSetListener() {

        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            myCalendar.set(Calendar.YEAR, year);
            myCalendar.set(Calendar.MONTH, monthOfYear);
            myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            updateLabel();
        }
    };

    dateDialog = new DatePickerDialog(getActivity(), date, 
            myCalendar.get(Calendar.YEAR), 
            myCalendar.get(Calendar.MONTH),
            myCalendar.get(Calendar.DAY_OF_MONTH));

    dateDialog.getDatePicker().setMaxDate(new Date().getTime());
}

初始化此方法后,设置好日期后,它将自动在日期选择器上显示日期。(:

找到了答案。只需将其设置在显示按钮的按钮范围之外

    picker = new Dialog(getActivity());
    picker.setContentView(R.layout.datetime);
    picker.setTitle("Select Date and Time");
    datep = (DatePicker) picker.findViewById(R.id.datePicker);
    timep = (TimePicker) picker.findViewById(R.id.timePicker1);


from.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub

            set = (Button) picker.findViewById(R.id.btnSet);
            set.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    // TODO Auto-generated method stub


                    //datep.updateDate(year, month, day);

                    month = datep.getMonth() + 1;
                    day = datep.getDayOfMonth();
                    year = datep.getYear();
                    hour = timep.getCurrentHour();
                    minute = timep.getCurrentMinute();
                    from.setText(year + "-" + month + "-" + day + " "
                            + hour + ":" + minute);
                    picker.dismiss();



                }
            });
            picker.show();
        }
    });

在显示之前,你必须设置上一个日期值。我明白你想说什么,但我该怎么做???我对安卓系统是新手。。