2013-07-17 5 views
4

는 다음과 같은 이미지를 참조하십시오 선택한 날짜와 일치하지 않습니다날짜 선택기 대화 상자가

enter image description here

텍스트 날짜 선택기가 실제로 1월 값 3을 가지고있는 동안 위 1909년 10월 28일 (목)은 ... 말한다, 1902. 실수는 무엇입니까?

@SuppressWarnings("deprecation") 
public void setTheDate(View v){ 
    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; 
     System.out.println("date" + year + month + day); 
    } 
}; 

DATE_DIALOG_ID이 최종 일정, 그리고 난 버튼 클릭에 setTheDate() 메소드를 호출

여기 내 코드입니다.

내가 뭘 잘못하고 있니?

답변

0

코드를 사용하는 것과 비슷하지만 간단히이 코드를 사용해보세요.

Calendar c = Calendar.getInstance(); 
      mYear = c.get(Calendar.YEAR); 
      mMonth = c.get(Calendar.MONTH); 
      mDay = c.get(Calendar.DAY_OF_MONTH); 
      y = c.get(Calendar.YEAR); 
      m = c.get(Calendar.MONTH); 
      dy = c.get(Calendar.DAY_OF_MONTH); 

      DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() { 

       public void onDateSet(DatePicker view, int year, 
         int monthOfYear, int dayOfMonth) { 
        Log.d("err", "onselect"); 
        mYear = year; 
        mMonth = monthOfYear; 
        mDay = dayOfMonth; 


       } 
      }; 

      DatePickerDialog d = new DatePickerDialog(getActivity(), 
        mDateSetListener, mYear, mMonth, mDay); 
      d.show(); 
+0

아 날짜가 표시됩니다 onDateSet() method of OnDateSetListener()

TimestampField field = (TimestampField) fieldpicker; Timestamp timestamp = field.getTimestamp(); timestamp.setYear(year - 1900); timestamp.setMonth(monthOfYear); timestamp.setDate(dayOfMonth); field.setTimestamp(timestamp); 

내부에이 코드를 추가 ! 실수는 내가 오늘 인스턴스를 설정하지 않았다는 것입니다! 이렇게하면 달력에서 첫 번째 값 (1900)을 취할 것입니다. –

1

이 코드를 사용하여 날짜 선택 도구에서 값을 검색 할 수 있습니다. 이것은 올바른 형식 물론

관련 문제