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

데이트피커 질문입니다..

0 추천

현재 위와같은 배치를 하고있는데요...

오늘, 1주, 1달버튼을누르면 날짜가 바뀝니다..

날짜창을 클릭하면 데이트피커가 열리는데요.

데이트피커에는 바뀐날짜가 반영이되지않습니다...

어떻게 소스를 변경하면될까요..??

날짜부분 소스올립니다...

 

  //일주일 
        befor7.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Calendar c = Calendar.getInstance();
                mYear1 = c.get(Calendar.YEAR);
                mMonth1 = c.get(Calendar.MONTH);
                mDay1 = c.get(Calendar.DAY_OF_MONTH);
                mYear2 = c.get(Calendar.YEAR);
                mMonth2 = c.get(Calendar.MONTH);
                mDay2 = c.get(Calendar.DAY_OF_MONTH);

                c.add(Calendar.DAY_OF_MONTH, -7);
                                Date calculatedDate = c.getTime();
                SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
                String strDate = dateFormat.format(calculatedDate);
                System.out.println(strDate);
                mYear1 = Integer.parseInt(strDate.substring(0, 4));
                mMonth1 = Integer.parseInt(strDate.substring(4, 6))-1;
                mDay1 = Integer.parseInt(strDate.substring(6, 8));
            
                SharedPreferences.Editor editor = pref.edit();

                editor.putString("year2", Integer.toString(mYear1));
                editor.putString("year3", Integer.toString(mYear2));
                editor.putString("dayOfMonth1", Integer.toString(mDay1));
                editor.putString("dayOfMonth2", Integer.toString(mDay2));
                editor.putString("monthOfYear1", Integer.toString(mMonth1));
                editor.putString("monthOfYear2", Integer.toString(mMonth2));
                editor.commit();
                updateDisplay();
                updateDisplay1();
            }
        });




 // 왼쪽 날짜선택 버튼
        date1.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                System.out.println(pref.getString("year2", ""));
                System.out.println(pref.getString("dayOfMonth1", ""));
                System.out.println(pref.getString("monthOfYear1", ""));
                showDialog(DATE_DIALOG_ID);

            }
        });



// 날짜
    private void updateDisplay() {
        // TODO Auto-generated method stub
        if (mMonth1 < 9 && mDay1 < 10) {
            date1.setText(new StringBuilder().append(mYear1).append("-")
                    .append("0").append(mMonth1 + 1).append("-").append("0")
                    .append(mDay1));

        } else if (mMonth1 < 9 && mDay1 >= 10) {
            date1.setText(new StringBuilder().append(mYear1).append("-")
                    .append("0").append(mMonth1 + 1).append("-").append(mDay1));

        } else if (mMonth1 >= 9 && mDay1 < 10) {
            date1.setText(new StringBuilder().append(mYear1).append("-")
                    .append(mMonth1 + 1).append("-").append("0").append(mDay1));
        } else {
            date1.setText(new StringBuilder().append(mYear1).append("-")
                    .append(mMonth1 + 1).append("-").append(mDay1));

        }
    }




   // 날짜
    private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                              int dayOfMonth) {
            // TODO Auto-generated method stub


            mYear1 = year;
            mMonth1 = monthOfYear;
            mDay1 = dayOfMonth;
            SharedPreferences.Editor editor = pref.edit();
            editor.putString("year2", Integer.toString(year));
            editor.putString("monthOfYear1", Integer.toString(monthOfYear));
            editor.putString("dayOfMonth1", Integer.toString(dayOfMonth));
            editor.commit();


            updateDisplay();

        }
    };



    // 날짜
    @Override
    protected Dialog onCreateDialog(int id) {

        switch (id) {
            case DATE_DIALOG_ID:
                if (pref.getString("year2", "").equals("")) {
                    return new DatePickerDialog(this, mDateSetListener, mYear1,
                            mMonth1, mDay1);
                  
                } else {
                    return new DatePickerDialog(this, mDateSetListener,
                            Integer.parseInt(pref.getString("year2", "")),
                            Integer.parseInt(pref.getString("monthOfYear1", "")),
                            Integer.parseInt(pref.getString("dayOfMonth1", "")));
                }
            case DATE1_DIALOG_ID:
                if (pref.getString("year3", "").equals("")) {
                    return new DatePickerDialog(this, mDateSetListener1, mYear2,
                            mMonth2, mDay2);
                  

                } else {
                    return new DatePickerDialog(this, mDateSetListener1,
                            Integer.parseInt(pref.getString("year3", "")),
                            Integer.parseInt(pref.getString("monthOfYear2", "")),
                            Integer.parseInt(pref.getString("dayOfMonth2", "")));
                }
        }
        return null;
    }

 

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

답변 달기

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