Android L 系统手机上使用 TimePickerDialog 注意问题:
问题描述如图:
问题原因:输入框焦点
Android L (5.0) 下TimePickerDialog 如果是使用"+","-"进行时间调整,那么点击"确定"后会正常保存,如果尝试手动输入时需等到释放焦点后才能正常保存。因此需要在点击"确定"之前对焦点进行释放处理。
原始片段代码:
TimePickerDialog dialog = new TimePickerDialog(this, timeSetListener, 10, 30, 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();