마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

datepicker 날짜선택 질문입니다.

0 추천

현재 datepicker 를 사용하여 날짜를 선택하고있는데요.

선택 후 확인버튼을 눌러 날짜가져오는 부분까지는 정상적으로 작동을합니다.

다만 날짜를 선택후 확인버튼이 아닌 취소버튼을 누르고

다시 datepicker창을 열면 취소하기전에 선택한 날짜가 표시됩니다..

이부분은 어떤식으로 처리해야될지... 고민하다가 도움 요청합니다..

 

요약:

1. datepicker 창 날짜 선택 후 확인 -> 정상작동

2. datepicker 창 날짜 선택 후 취소 , datepicker 재실행 - > 취소전 선택한 날짜 표시

 

소스부분 입니다.

//datepicker 호출부분  
Rdate.setOnClickListener(new View.OnClickListener() {
                                    @Override
                                    public void onClick(View v) {
                                        showDialog(DATE3_DIALOG_ID);
                                    }
                                });



// datepicker 생성
  @Override
    protected Dialog onCreateDialog(int id) {

        switch (id) {
  
            case DATE3_DIALOG_ID:

            return new DatePickerDialog(this, mDateSetListener3, mYear4,
                        mMonth4, mDay4);

        }
        return null;
    }

//선택날짜 업데이트

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

        public void onDateSet(DatePicker view, int year, int monthOfYear,
                              int dayOfMonth) {

            mYear4 = year;
            mMonth4 = monthOfYear;
            mDay4 = dayOfMonth;


            updateDisplay3();

        }

    };

//화면 표시 
   private void updateDisplay3() {
        // TODO Auto-generated method stub
        if (mMonth4 < 9 && mDay4 < 10) {
            Rdate.setText(new StringBuilder().append(mYear4).append("-")
                    .append("0").append(mMonth4 + 1).append("-").append("0")
                    .append(mDay4));
            SharedPreferences.Editor editor = pref.edit();
            editor.putString("Rdate", Rdate.getText().toString());
            editor.commit();

        } else if (mMonth4 < 9 && mDay4 >= 10) {
            Rdate.setText(new StringBuilder().append(mYear4).append("-")
                    .append("0").append(mMonth4 + 1).append("-").append(mDay4));
            SharedPreferences.Editor editor = pref.edit();
            editor.putString("Rdate", Rdate.getText().toString());
            editor.commit();
        } else if (mMonth4 >= 9 && mDay4 < 10) {
            Rdate.setText(new StringBuilder().append(mYear4).append("-")
                    .append(mMonth4 + 1).append("-").append("0").append(mDay4));
            SharedPreferences.Editor editor = pref.edit();
            editor.putString("Rdate", Rdate.getText().toString());
            editor.commit();
        } else {
            Rdate.setText(new StringBuilder().append(mYear4).append("-")
                    .append(mMonth4 + 1).append("-").append(mDay4));
            SharedPreferences.Editor editor = pref.edit();
            editor.putString("Rdate", Rdate.getText().toString());
            editor.commit();
        }
    }

 

아잉훗 (570 포인트) 님이 2016년 6월 21일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...