내 안드로이드 에뮬레이터에서 이상하게 들리는 현상 (API 레벨 10에서 실행되는 코드 및 에뮬레이터 - Android 2.3.3 임) : 내 에뮤의 현재 날짜는 22.08.2011입니다. - DatePickerDialog 이러한 설정 (새로운 날짜()의 값을 사용 - 현재 날짜/시간과 날짜를 초기화하는)에 다음과 같은 예외와 다음이 실패 : 안드로이드 DatePickerDialog - IllegalArgumentException으로 실패했습니다.
08-22 02:14:23.731: ERROR/AndroidRuntime(3038): FATAL EXCEPTION: main
08-22 02:14:23.731: ERROR/AndroidRuntime(3038): java.lang.IllegalArgumentException: current should be >= start and <= end
08-22 02:14:23.731: ERROR/AndroidRuntime(3038): at android.widget.NumberPicker.setCurrent(NumberPicker.java:288)
08-22 02:14:23.731: ERROR/AndroidRuntime(3038): at android.widget.DatePicker.updateSpinners(DatePicker.java:357)
08-22 02:14:23.731: ERROR/AndroidRuntime(3038): at android.widget.DatePicker.init(DatePicker.java:352)
08-22 02:14:23.731: ERROR/AndroidRuntime(3038): at android.app.DatePickerDialog.<init>(DatePickerDialog.java:127)
08-22 02:14:23.731: ERROR/AndroidRuntime(3038): at android.app.DatePickerDialog.<init>(DatePickerDialog.java:86)
그래서 나는 API의 LVL 들어합니다 (
source Code for DatePicker를 체크 아웃 2.3.3) 그리고 DatePicker 코드를 확인했는데 (이는 updateSpinners 메소드에서 실패한 것을 알기 때문에) 위의 스택 추적에서 네 번째 라인 인 357 번째 라인에서 mYearPicker.setCurrent (mYear)를 호출했다. 내게 뭔가 잘못되었다고 생각하게 만들었습니다. 제가 통과 한 해를 기록했습니다 - 예상대로 2011 년입니다. 그래서 저는 수동으로 대신 2010 년을 통과 시켰습니다 - DatePickerDialog가 나타났습니다 - 2010 년으로 초기화되었습니다 (나쁘지 만 현재 2011 년이 정말 필요합니다) ...).
이유가 무엇인지에 관해서는 약간의 손실이 있습니다 ... 내 에뮬레이터의 날짜는 위에서 설명한대로 22.08.2011로 올바르게 설정됩니다. 내 dev PC는 같은 날짜로 설정됩니다. ..
내가 잘못 가고있는 것에 대한 단서/아이디어가 있습니까? 나는 그것이 컴파일 dateTime
필드 final
을하지 않습니다 생각
// Initializes a Date object with the current date and time for clarification:
// it is actually declared as a private member variable of my class -
// just included it here so you guys know of which type dateTime ist
Date dateTime = new Date();
Button dateButton = new Button(context);
dateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// dateSetListener is declared as well - but its code has no influence on the failure of
// the DatePickerDialog - to ensure this I commented all code in the dateSetListener's
// onDateSet method
Dialog dateDialog = new DatePickerDialog(v.getContext(), dateSetListener, dateTime.getYear(),
dateTime.getMonth(), dateTime.getDay());
dateDialog.show();
}
});
감사 & 안부가, 이
좋은 조언. ** 캘린더 ** 클래스를 사용하여 날짜를 가져오고 설정하는 경향이 있습니다 ** 날짜 * * 계산 등을위한 클래스. – MissPiplup