0
대개 사람들과 마찬가지로 DatepickerDialog에없는 사용자 지정 대화 상자에 날짜 선택 도구가 만들어졌습니다. 문제는 과거의 날짜를 제한하려고 할 때 런타임 응용 프로그램이 충돌 할 때 첨부 된 코드를 로그 아웃합니다. 내 코드에서 빠진 것이있을 수 있습니다. [attach], 도와주세요.사용자 지정 대화 상자의 날짜 선택 도구 (DatePickerDialog가 아님) 과거 날짜가 작동하지 않는 제한
04-30 10:24:16.278: D/dalvikvm(19320): GC_CONCURRENT freed 1764K, 27% free 9106K/12412K, paused 2ms+2ms, total 32ms
04-30 10:24:16.278: D/dalvikvm(19320): WAIT_FOR_CONCURRENT_GC blocked 22ms
04-30 10:24:16.282: E/AndroidRuntime(19320): FATAL EXCEPTION: main
04-30 10:24:16.282: E/AndroidRuntime(19320): java.lang.StackOverflowError
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.text.SpannableStringBuilder.getChars(SpannableStringBuilder.java:913)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.text.TextUtils.getChars(TextUtils.java:75)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.text.method.ReplacementTransformationMethod$ReplacementCharSequence.getChars(ReplacementTransformationMethod.java:151)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.text.TextUtils.getChars(TextUtils.java:75)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.text.TextUtils.indexOf(TextUtils.java:108)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.text.StaticLayout.generate(StaticLayout.java:182)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.text.DynamicLayout.reflow(DynamicLayout.java:288)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.text.DynamicLayout.<init>(DynamicLayout.java:174)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.TextView.makeSingleLayout(TextView.java:5952)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.TextView.makeNewLayout(TextView.java:5850)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.TextView.checkForRelayout(TextView.java:6391)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.TextView.setText(TextView.java:3672)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.TextView.setText(TextView.java:3530)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.EditText.setText(EditText.java:80)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.TextView.setText(TextView.java:3505)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.NumberPicker.updateInputTextView(NumberPicker.java:1763)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.NumberPicker.setDisplayedValues(NumberPicker.java:1381)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.updateSpinners(DatePicker.java:642)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.updateDate(DatePicker.java:545)
04-30 10:24:16.282: E/AndroidRuntime(19320): at com.view.MyProject.SchedulesActivity$28.onDateChanged(SchedulesActivity.java:1328)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.notifyDateChanged(DatePicker.java:699)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.updateDate(DatePicker.java:547)
04-30 10:24:16.282: E/AndroidRuntime(19320): at com.view.MyProject.SchedulesActivity$28.onDateChanged(SchedulesActivity.java:1328)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.notifyDateChanged(DatePicker.java:699)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.updateDate(DatePicker.java:547)
04-30 10:24:16.282: E/AndroidRuntime(19320): at com.view.MyProject.SchedulesActivity$28.onDateChanged(SchedulesActivity.java:1328)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.notifyDateChanged(DatePicker.java:699)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.updateDate(DatePicker.java:547)
04-30 10:24:16.282: E/AndroidRuntime(19320): at com.view.MyProject.SchedulesActivity$28.onDateChanged(SchedulesActivity.java:1328)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.notifyDateChanged(DatePicker.java:699)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.updateDate(DatePicker.java:547)
04-30 10:24:16.282: E/AndroidRuntime(19320): at com.view.MyProject.SchedulesActivity$28.onDateChanged(SchedulesActivity.java:1328)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.notifyDateChanged(DatePicker.java:699)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.updateDate(DatePicker.java:547)
04-30 10:24:16.282: E/AndroidRuntime(19320): at com.view.MyProject.SchedulesActivity$28.onDateChanged(SchedulesActivity.java:1328)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.notifyDateChanged(DatePicker.java:699)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.updateDate(DatePicker.java:547)
04-30 10:24:16.282: E/AndroidRuntime(19320): at com.view.MyProject.SchedulesActivity$28.onDateChanged(SchedulesActivity.java:1328)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.notifyDateChanged(DatePicker.java:699)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.updateDate(DatePicker.java:547)
04-30 10:24:16.282: E/AndroidRuntime(19320): at com.view.MyProject.SchedulesActivity$28.onDateChanged(SchedulesActivity.java:1328)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.notifyDateChanged(DatePicker.java:699)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.updateDate(DatePicker.java:547)
04-30 10:24:16.282: E/AndroidRuntime(19320): at com.view.MyProject.SchedulesActivity$28.onDateChanged(SchedulesActivity.java:1328)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.notifyDateChanged(DatePicker.java:699)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.updateDate(DatePicker.java:547)
04-30 10:24:16.282: E/AndroidRuntime(19320): at com.view.MyProject.SchedulesActivity$28.onDateChanged(SchedulesActivity.java:1328)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.notifyDateChanged(DatePicker.java:699)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.updateDate(DatePicker.java:547)
04-30 10:24:16.282: E/AndroidRuntime(19320): at com.view.MyProject.SchedulesActivity$28.onDateChanged(SchedulesActivity.java:1328)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.notifyDateChanged(DatePicker.java:699)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.updateDate(DatePicker.java:547)
04-30 10:24:16.282: E/AndroidRuntime(19320): at com.view.MyProject.SchedulesActivity$28.onDateChanged(SchedulesActivity.java:1328)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.notifyDateChanged(DatePicker.java:699)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.updateDate(DatePicker.java:547)
04-30 10:24:16.282: E/AndroidRuntime(19320): at com.view.MyProject.SchedulesActivity$28.onDateChanged(SchedulesActivity.java:1328)
04-30 10:24:16.282: E/AndroidRuntime(19320): at android.widget.DatePicker.notifyDateChanged(
코드 :
, view.UpdateDate()가 초기화에서 호출 할 수 없습니다 (익명의 내부 클래스 형 ..) 충돌이 이유 을, 나쁜 프로그래밍에 대한 죄송합니다DatePicker datePicker = (DatePicker)datePickerDialog.findViewById(R.id.datepicker);
getCurrDate();
datePicker.init(year, month, day, new OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int selected_year, int selected_month,
int selected_day) {
// TODO Auto-generated method stub
/// getCurrDate();
if (selected_year < currYear)
view.updateDate(currYear, currMonth, currDay);
if (selected_month < currMonth && selected_year == currYear);
view.updateDate(currYear, currMonth, currDay);
if (selected_month < currDay && year == currYear && selected_month == currMonth)
view.updateDate(currYear, currMonth, currDay);
selectedDate = ""+(selected_month+1)+"/"+selected_day+"/"+selected_year;
datePicker_TV.setText(selectedDate);
repeatDlgDoneBtn.setTextColor(getResources().getColor(R.color.Dialog_cancel_blue));
repeatDlgDoneBtn.setEnabled(true);
getSelectedWeek();
}
});
datePicker.setCalendarViewShown(false);
datePicker.setDescendantFocusability(DatePicker.FOCUS_BLOCK_DESCENDANTS);
datePickerDialog.show();
}