在4.1 4.2 4.4 版本下DatePickerDialog的onDateSet的回调方法会执行两次,这个bug解决方法如下:
- 重写DatePickerDialog类
- 重写类中的onStop()方法
- 注释super.onStop()方法
public class MyDatePickerDialog extends DatePickerDialog { public MyDatePickerDialog(Context context, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) { super(context, callBack, year, monthOfYear, dayOfMonth); } public MyDatePickerDialog(Context context, int theme, OnDateSetListener callBack, int year, int monthOfYear,int dayOfMonth) { super(context, theme, callBack, year, monthOfYear, dayOfMonth); } @Override protected void onStop() { // TODO Auto-generated method stub // super.onStop();//注释掉 } }
TimePickerDialog的bug一样解决