版权声明:本文为博主原创文章,未经博主允许不得转载。
Android L 系统手机上使用 TimePickerDialog 注意问题:
问题描述如图:
问题原因:输入框焦点
Android L (5.0) 下TimePickerDialog 如果是使用"+","-"进行时间调整,那么点击"确定"后会正常保存,如果尝试手动输入时需等到释放焦点后才能正常保存。因此需要在点击"确定"之前对焦点进行释放处理。
设置当前时间:
Calendar c = Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis());
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
原始片段代码:
TimePickerDialog dialog = new TimePickerDialog(this, timeSetListener, hour , minute , true);
dialog.show();
修改后片段代码:
TimePickerDialog dialog = new TimePickerDialog(this, timeSetListener, 10, 30, true){
@Override
public void onClick(DialogInterface dialog, int which) {
//焦点释放处理
if (dialog instanceof TimePickerDialog) {
((TimePickerDialog)dialog).getWindow().getDecorView().clearFocus();
}
super.onClick(dialog, which);
}
};
dialog.show();