TimePickerDialog 5.0以上无法直接输入

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值