Android上的DatePicker示例出现问题。可能的Android错误

时间:2011-06-24 10:42:33

标签: android timepicker

我正在实现一个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);
}

然而,当我点击分钟并使用键盘更改它时,事件不会出现,如小时,天等等......

问题的更详细描述是:

哪些步骤会重现问题?

  1. 选择时间选择器
  2. 触摸数字,键盘出现
  3. 当我写了几分钟时,事件不会触发
  4. 预期产量是多少?你怎么看?

    我希望在onTimeChanged()内抓住这个事件,但我不能。

    您使用的是哪个版本的产品?什么操作系统?

    版本2.在Android Froyo上。

    此代码的作者告诉我Android上有一个错误。我认为应该解决这个问题,例如创建我自己的类,从TimePicker扩展并重新实现接口OnTimeChangedListener。

    监听timerPicker事件的最佳选择是什么?

2 个答案:

答案 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控件内的每次按键操作。