我正在实现一个DateTimePicker。我已重用此repository。
当我在更改分钟时尝试捕获onTimeChanged()
方法的事件时,会出现问题。如果我使用 + 和 - 的按钮就可以了,事件就会被触发,我可以在这里处理:
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
// Update the internal Calendar instance
mCalendar.set(mCalendar.get(Calendar.YEAR),
mCalendar.get(Calendar.MONTH),
mCalendar.get(Calendar.DAY_OF_MONTH),
hourOfDay, minute);
}
然而,当我点击分钟并使用键盘更改它时,事件不会出现,如小时,天等等......
问题的更详细描述是:
哪些步骤会重现问题?
预期产量是多少?你怎么看?
我希望在onTimeChanged()
内抓住这个事件,但我不能。
您使用的是哪个版本的产品?什么操作系统?
版本2.在Android Froyo上。
此代码的作者告诉我Android上有一个错误。我认为应该解决这个问题,例如创建我自己的类,从TimePicker扩展并重新实现接口OnTimeChangedListener。
监听timerPicker事件的最佳选择是什么?
答案 0 :(得分:1)
DatePicker控件必须调用clearFocus()才能触发 onFocusChanged(),这将解决问题。
PFB可能对您有帮助的链接:
http://code.google.com/p/android/issues/detail?id=2745
谢谢!
答案 1 :(得分:0)
事件的触发方式与HTML中的onchange
事件相同:
只有在离开文本框后才会触发,然后转到下一个文本框。
我不知道这是不是一个错误或某种功能。
扩展TimePicker
课时,您可以抓住KeyEvent.Callback
。然后,您应该了解EditText
内部使用的TimePicker
控件内的每次按键操作。