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

mon*_*n3t 2 android timepicker

我有一个小部件,它是一个TimePicker,用于检索数据库中字段中保存的时间.

事情是,当用户更改窗口小部件中的时间值时,这不会保存在数据库中.

所以我遇到了setOnTimeChangedListener方法,它就像一个魅力,如果你只使用小部件中的加号和减号.如果您使用关键字,它不会捕获更改.

这是我的代码:

pickedTime.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {

        public void onTimeChanged(TimePicker arg0, int arg1, int arg2) {
            System.out.println("What time is it? "
                    + String.valueOf(arg0.getCurrentHour()) + ":"
                    + String.valueOf(arg0.getCurrentMinute()));
        }

    });
Run Code Online (Sandbox Code Playgroud)

我也尝试过失败:

pickedTime.setOnFocusChangeListenerpickedTime.setOnKeyListener方法.

Sik*_*ora 5

在处理对话框和使用TimePicker时,它对我不起作用.

我在某处看到它与焦点有关,所以如果你在解除对话之前就做了一个clearFocus就可以了.

就像是:

@Override
protected void onDialogClosed(boolean positiveResult) {
    super.onDialogClosed(positiveResult);

    if (positiveResult) {
        picker.clearFocus();
        lastHour=picker.getCurrentHour();            
        lastMinute=picker.getCurrentMinute();

        String time=String.valueOf(lastHour)+":"+String.valueOf(lastMinute);

        if (callChangeListener(time)) {
            persistString(time);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)