Android 时间选择器小部件未获取当前时间

Android 时间选择器小部件未获取当前时间,android,keyboard,timepicker,Android,Keyboard,Timepicker,这个问题是关于Android中时间选择器的行为 要获取小时和分钟的值,我使用getCurrentHour()和getCurrentMinute() 起初,我发现用户使用未注册的电话键盘所做的更改,因此调用getCurrentHour()或getCurrentMinute()不会显示小部件内文本框中更改的值。 使用setAddStatesFromChildren(true)很快解决了这个问题;有了这个,我得到了这些变化 现在,我的问题是,只有当时间选择器失去焦点时,这些更改才会被注册。 因此,从按

这个问题是关于Android中时间选择器的行为

要获取小时和分钟的值,我使用getCurrentHour()和getCurrentMinute()

起初,我发现用户使用未注册的电话键盘所做的更改,因此调用getCurrentHour()或getCurrentMinute()不会显示小部件内文本框中更改的值。 使用setAddStatesFromChildren(true)很快解决了这个问题;有了这个,我得到了这些变化

现在,我的问题是,只有当时间选择器失去焦点时,这些更改才会被注册。 因此,从按钮内的时间选择器获取值会得到错误的值,因为它没有失去焦点。 有什么帮助吗


我需要的是:我可以强制时间选择器松开焦点并在文本框中获取真正的写入值吗?

在您获得TimeChanged回调后,在时间选择器视图上调用clearFocus()。

我解决了它,并在这里为需要它的人编写它。 多亏了“Tarun Maheshwari”,我找到了我需要的东西:

在onCreate上执行以下操作:

MyTimerPicker.setAddStatesFromChildren(true);
在onClick方法上,获取值时,执行以下操作:

MyTimerPicker.clearFocus();
int iHour = MyTimerPicker.getCurrentHour();
int iMinute = MyTimerPicker.getCurrentMinute();