1

这个问题是关于 Android 中的 TimePicker 行为。

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

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

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

我需要的是:我可以强迫时间选择器放松焦点并在文本框中获得真正的书面价值吗?

4

2 回答 2

2

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

在 onCreate 上做这样的事情:

MyTimerPicker.setAddStatesFromChildren(true);

在 onClick 方法上,获取值时,执行以下操作:

MyTimerPicker.clearFocus();
int iHour = MyTimerPicker.getCurrentHour();
int iMinute = MyTimerPicker.getCurrentMinute();
于 2012-05-12T12:08:27.003 回答
0

获得 onTimeChanged 回调后,在 timepicker 视图上调用 clearFocus()。

于 2012-05-10T19:18:17.630 回答