2012-11-07 2 views
1

내 응용 프로그램에 다음 위젯이 있습니다. 그것이 설정 날짜라고하면 요일, 월, 일, 월, 일로 바꿀 수 있습니다. 예 : 2012 년 11 월 7 일?datepickerdialog에 표시된 날짜를 변경하는 방법은 무엇입니까?

Android 2.3.3에서 동일한 코드를 실행하면 htc에서 Android 4를 실행하고 있습니다. 날짜는 원하는 방식으로 표시됩니다.

enter image description here

. 갱신 1]

@Override 
    protected Dialog onCreateDialog(int id) { 
     switch (id) { 
     case DATE_DIALOG_ID: 
      // set date picker as current date 

      return new DatePickerDialog(this,2 ,datePickerListener, year, month, day); 
     } 
     return null; 
    } 

. 갱신 2]

@Override 
    protected Dialog onCreateDialog(int id) { 
     switch (id) { 
     case DATE_DIALOG_ID: 
      // set date picker as current date 

      final DateFormat df = DateFormat.getDateInstance(0); 
       final Calendar mCal = Calendar.getInstance(); 
       // Create a date picker dialog 
       DatePickerDialog datePickerDialog = new DatePickerDialog(this,2,datePickerListener, year, month, day){ 
        @Override 
        public void onDateChanged(DatePicker view, int year,int month, int day){ 
         mCal.set(Calendar.YEAR, year); 
         mCal.set(Calendar.MONTH, month); 
         mCal.set(Calendar.DAY_OF_MONTH, day); 
         setTitle(df.format(mCal.getTime())); 
        } 
       }; 
      return datePickerDialog; 
      //return new DatePickerDialog(this,2 ,datePickerListener, year, month, day); 
     } 
     return null; 
    } 

답변

0

있음. 다음 코드를 사용하여 작업을 수행했습니다. 요구 사항에 따라 변경해야합니다.

dPicker.init((previouslyEnteredDate.getYear() + 1900), 
         previouslyEnteredDate.getMonth(), 
         previouslyEnteredDate.getDate(), null); 
+0

안녕하세요 저는 datepickerdialog를 만드는 코드로 게시물을 업데이트했습니다. 네가 제안하는대로 나는 datepicker를 사용하지 않는다. 감사합니다 – turtleboy

0

그냥 오늘이 무엇인지의 신호로 현재 날짜로 초기화 할 경우 (또는 적어도 사용자가 선택기와 상호 작용으로 변경이 필요하지 않습니다) 당신이 만들어 그것을 할 수 있습니다 임시 변수 및 예를 들어

(DatePickerDialogAlertDialog를 확장하기 위해 (때문에)) 그것에 setTitle(CharSequence) 메소드를 호출 :

case DATE_DIALOG_ID: 
     // set date picker as current date 
     DatePickerDialog dpd = new DatePickerDialog(this, 2, datePickerListener, 
                year, month, day); 
     dpd.setTitle("Today is: " + year + "-" + (month + 1) + "-" + day); 
     return dpd; 

좋아을, 나는 분명히 그곳에서 서식을 조금 게으른 있어요,하지만 난 당신이 얻을 희망 기본적인 생각.

피커의 날짜가 변경 될 때 제목을 업데이트하려면 더 복잡하게 들릴 수 있지만 그럴 생각은 없습니다 (포인트가 그들이 변화하고있는 상황에서 일주일에 한 번씩)? 그것이 있으면, 알려주세요. 나는 정교하게 다룰 것입니다.

+0

귀하의 회신을 보내 주셔서 감사합니다. 코드 수정안을 포함하도록 내 게시물을 업데이트했습니다. 사용자가 위젯과 상호 작용할 때까지 제목에 날짜가 설정되어 있지 않아도 잘 작동합니다. 어떻게 위젯을 초기화 할 수 있습니까? 감사 – turtleboy

관련 문제