使用TimePickerDialog肯定会发现,按下确定键,会执行两次回调函数,点击其他地方,会执行一次。这是因为源码设置在点击确定键和关闭对话框的时候,分别都会执行那个回调函数。假如我们只需要执行一次,那要怎么做才最简单呢?
重写TimePickerDialog的onStop函数,不要执行父方法就可以了。
public class TPDialog extends TimePickerDialog {
public TPDialog(Context context, OnTimeSetListener callBack, int hourOfDay,
int minute, boolean is24HourView) {
super(context, callBack, hourOfDay, minute, is24HourView);
// TODO Auto-generated constructor stub
}
public TPDialog(Context context, int theme, OnTimeSetListener callBack,
int hourOfDay, int minute, boolean is24HourView) {
super(context, theme, callBack, hourOfDay, minute, is24HourView);
// TODO Auto-generated constructor stub
}
@Override
protected void onStop() {
// TODO Auto-generated method stub
//super.onStop();
}
}