此问题与Android中的TimePicker行为有关。
要获取小时和分钟的值,我使用getCurrentHour()和getCurrentMinute()。
首先,我发现用户使用未注册的电话键盘所做的更改,因此调用getCurrentHour()或getCurrentMinute()并未显示小部件内的texbox中更改的值。 使用setAddStatesFromChildren(true)可以快速解决这个问题。有了这个,我得到了这些改变。
现在,我的问题是,只有在timepicker失去焦点时才会注册这些更改。 因此,从按钮内的时间戳获取值会得到错误的值,因为它没有松散焦点。 有什么帮助吗?
我需要的是:我可以强制使用时间戳来放松焦点并在文本框中获得真正的书面价值吗?
答案 0 :(得分:2)
我解决了它,我在这里写给需要它的人。 感谢“Tarun Maheshwari”,我找到了我需要的东西:
在onCreate上执行以下操作:
MyTimerPicker.setAddStatesFromChildren(true);
在onClick方法中,获取值时,请执行以下操作:
MyTimerPicker.clearFocus();
int iHour = MyTimerPicker.getCurrentHour();
int iMinute = MyTimerPicker.getCurrentMinute();
答案 1 :(得分:0)
在获得onTimeChanged回调后,在timepicker视图上调用clearFocus()。