如果正在使用“软”键盘,如何在TimePicker中更改时间?

时间:2010-08-12 04:14:01

标签: android android-softkeyboard timepicker android-timepicker

继续提及以下链接中提到的问题:

How can I capture when time changes in a TimePicker if the keyboard is being used?

我可以解决问题,但只有在使用实际键盘时才有效。如果你使用软键盘,我就无法使用它。

我在1.6版本的框架中编程。

非常感谢任何帮助。

PS:事实上,我到处寻找答案而无法找到它,这告诉我这一定非常简单或非常复杂。帮助?!

3 个答案:

答案 0 :(得分:2)

参考Cody的评论,你需要在对话框关闭时从TimePicker中删除焦点。

你可以使用它,其中tp是TimePicker实例:

   public void onDialogClosed(boolean positiveResult) {
   tp.clearFocus();

答案 1 :(得分:1)

我遇到了同样的问题。如果我使用TimePickerDialog没有问题。 为了在DialogPreference中使用TimePicker,这是我做过的最糟糕的解决方法,沿着TimePicker的视图层次结构:

ViewGroup v = (ViewGroup) timePicker.getChildAt(0);
ViewGroup numberPicker1 = (ViewGroup) v.getChildAt(0);
ViewGroup numberPicker2 = (ViewGroup) v.getChildAt(1);

String hours = ((EditText) numberPicker1.getChildAt(1)).getText().toString();
String mins = ((EditText) numberPicker2.getChildAt(1)).getText().toString();

String selectedTime = hours+":"+mins;

这样我可以直接访问输入的文本 - 但是应该是管理键盘输入的更好方法......

答案 2 :(得分:0)

这对我有用: 我发现这个问题只是一个问题,具体取决于您使用的设备。 我有一个三星时刻,所以在其他设备(显然不是全部)和模拟器测试后,我发现它只发生在我的手机上。

以下链接帮助我解决了我的问题。我希望它可以帮助你...

http://blog.xiaad.com/2010/03/android-datepicker-years-before-2000.html

的N-快乐!

Simmone