Android-OnDateChangedListener-어떻게 설정합니까?
Android에는 DatePicker.OnDateChangedListener 라는 이벤트 리스너가 있습니다. 다음과 같이 DatePicker보기의 날짜 변경 리스너를 설정하려고합니다.
DatePicker dp = new DatePicker(getContext());
dp.setOnDateChangedListener(this);
//where this is my activity extends DatePicker.OnDateChangedListener
하지만 그거 알아? 날짜 선택기에는 setOnDateChangedListener 라는 메소드가 없습니다 .
내 질문은 :
- 그렇다면 Android에서 날짜 변경 리스너를 어떻게 설정합니까?
- 날짜 변경 리스너를 설정할 수없는 경우이 이벤트의 목적은 무엇입니까?
모든 문서 / 튜토리얼이 매우 유용합니다.
를 만든 후에 DatePicker
는 처음에 표시 할 날짜로 초기화해야합니다. 이것이 리스너를 추가 할 수있는 지점 입니다.
을 참조하십시오 DatePicker.init(int, int, int, OnDateChangedListener)
.
가장 좋은 방법은
DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
datePicker.init(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker datePicker, int year, int month, int dayOfMonth) {
Log.d("Date", "Year=" + year + " Month=" + (month + 1) + " day=" + dayOfMonth);
}
});
이보기는 실제로 네 가지보기의 조합이며 다음과 같습니다.
세 스피너
하나의 CalendarView
OnDateChangeListener에서 init 메소드에 전달한 객체는 단순히 포함 된 CalendarView로 전달되며, 좋은 오래된 CalendarView에 setOnDateChangeListener 메소드가 있다는 것을 알고 있다고 생각합니다. .... ..
DatePicker 클래스에는 getCalendarView라는 메서드가 있으며 포함 된 CalendarView를 손에 넣으려면 호출 할 수있는 메서드입니다.
포함 된 CalendarView에 손을 대면 말할 필요도없이 setOnDateChangeListener를 호출 할 수 있습니다.
이 같은:
DatePicker myDatePicker = (DatePicker) findViewById(R.id.my_date_picker);
myDatePicker.getCalendarView().setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
Log.d("tag", "finally found the listener, the date is: year " + year + ", month " + month + ", dayOfMonth " + dayOfMonth);
}
});
개체를 호출 init()
하십시오DatePicker
.
참조 URL : https://stackoverflow.com/questions/2051153/android-ondatechangedlistener-how-do-you-set-this
'programing' 카테고리의 다른 글
프로그래밍 방식으로 창을 최소화하는 방법이 있습니까? (0) | 2021.01.05 |
---|---|
Python에서 클래스를 정의하는 방법은 무엇입니까? (0) | 2021.01.05 |
더 명확한 형식 : if (! value) 또는 if (flag == value)? (0) | 2021.01.05 |
비디오를 HTML5 ogg / ogv 및 mpg4로 변환 (0) | 2020.12.31 |
핫 스왑 메커니즘을 통해 런타임에 메서드 변경 (0) | 2020.12.31 |