1

再度選択すると、選択した日付を日付ピッカーダイアログに表示しようとしています。

これが私が試したことです。

 signup.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {


             Calendar mcurrentDate=Calendar.getInstance();
                year=mcurrentDate.get(Calendar.YEAR);
                month=mcurrentDate.get(Calendar.MONTH);
                day=mcurrentDate.get(Calendar.DAY_OF_MONTH);

                DatePickerDialog mDatePicker=new DatePickerDialog(CreateAccountActivity.this, new OnDateSetListener()
                {   
                    @Override
                    public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) 
                    {
                            year = selectedyear; 
                            month = selectedmonth; 
                            day = selectedday;
                     signup.setText(new StringBuilder().append(year).append("-").append(month+1).append("-").append(day));
                    }
                },year, month, day);
                mDatePicker.setTitle("Please select date");                
                mDatePicker.getDatePicker().setMaxDate(System.currentTimeMillis());
                mDatePicker.show();


        }
    });

しかし、問題は、私が再び日付を選択したときです。現在の日付が表示されます。選択した日付をダイアログに表示したい。

4

3 に答える 3

2

これを使用できます:

private EditText mbirthdayView;  
    mbirthdayView=(EditText)findViewById(R.id.birthday);
mbirthdayView.setOnClickListener(new OnClickListener() {

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

@Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case DATE_DIALOG_ID:
            // set date picker as current date
            return new DatePickerDialog(this, datePickerListener, year, month,
                    day);
        }
        return null;
    }

private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {

        // when dialog box is closed, below method will be called.
        public void onDateSet(DatePicker view, int selectedYear,
                int selectedMonth, int selectedDay) {
            year = selectedYear;
            month = selectedMonth;
            day = selectedDay;

            // set selected date into textview
            mbirthdayView.setText(  (day)+(".")+(month + 1)+(".")+(year));

            // set selected date into datepicker also
            dpResult.init(year, month, day, null);

        }
    };
于 2014-04-21T10:58:19.023 に答える