TimePickerDialog 手动输入无效

来源:互联网 发布:软件残余清理工具 编辑:程序博客网 时间:2024/05/21 10:16

 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();


1 0