TimePickerDialog 에서 취소 버튼 클릭시 이벤트를 어디서 잡나요?
버튼에서 아래 함수를 호출합니다.
showDialog(DIALOG_ID_TIME);
그후에는 아래처럼 리스너를 했는데 시간을 설정하면 볼드체 함수가 호출되지만 취소시 캡쳐할 이벤트가 뭔가요?
static final int DIALOG_ID_TIME = 100;
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG_ID_TIME :
return new TimePickerDialog(this,mTimeSetListener, mHour, mMinute,true);
}
return null;
}
TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
Log.d("DEV","TIME : "+mHour+" : "+mMinute);
}
};
알려주셔서 감사합니다.
답변 내용 글을 다보았는데요 소양이 부족한 관계로 재질문을좀...
글에서 보니깐 아래처럼 두가지가 있던데요
setOnDismissListener 는 확인이나 취소나 모두 호출되서 의도한내용이 아닌것같구요
tp.getButton(TimePickerDialog.BUTTON_NEGATIVE).setOnClickListener(리스너);
위 방식은 가능할것으로 보이나 아래처럼 구현해보니 Null로 죽는데요
해결이 결과적으로 안된것같은데 소양부족이라 찾질못하겠네요.
tp.getButton(TimePickerDialog.BUTTON_NEGATIVE).setOnClickListener(
new View.OnClickListener(){
public void onClick(View v){
Log.d("DEV","TIME : cancel 0");
}
}
);
static final int DIALOG_ID_TIME = 100;
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG_ID_TIME :
TimePickerDialog tp = new TimePickerDialog(this,mTimeSetListener, mHour, mMinute,true);
//tp.setOnCancelListener(mDateCancelListener); //취소 기능도 붙임
//tp.setOnDismissListener(mOnDismissListener);//무조건 닫힐때
tp.getButton(TimePickerDialog.BUTTON_NEGATIVE).setOnClickListener(
new View.OnClickListener(){
public void onClick(View v){
Log.d("DEV","TIME : cancel 0");
}
}
);
return tp;
}
return null;
}




http://stackoverflow.com/questions/3125879/how-to-make-a-listener-for-a-datepickers-cancel-button-in-android