gpt4 book ai didi

android - 在 TimePicker 中使用键盘输入需要在 "Enter"之前按 "OK",否则值将被丢弃

转载 作者:行者123 更新时间:2023-12-04 17:58:33 24 4
gpt4 key购买 nike

我的程序显示经典的 android.app.TimePickerDialog 并收听 OnTimeSetListener.onTimeSet() 。从 Android 4.3 迁移到 5.1 后,我注意到使用键盘输入分钟并按“确定”会导致传递给 onTimeSet() 处理程序的错误值。但是,如果我在按对话框中的“确定”按钮之前按键盘上的 Enter(或单击小时输入或仅使用微调器),则值是正确的。

我认为这与 NumberPicker 焦点未清除有关,当用户按下 OK 时。

使用微调器几分钟或另外按键盘上的 Enter 是不方便的。如何仅通过 OK 按钮让我的值被接受?

import android.app.*;
...

private final DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
...
}
}

@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case TIMEPICKER_DIALOG:
return new TimePickerDialog(ChannelActivity.this, mTimeSetListener, day.get(Calendar.HOUR_OF_DAY), day.get(Calendar.MINUTE), true);
}
return super.onCreateDialog(id);
}

最佳答案

5 年后我遇到了这个问题。经过数小时的搜索和尝试,似乎调用 timePicker.clearFocus() 将更新 TimePicker 内部使用的 NumberPicker

关于android - 在 TimePicker 中使用键盘输入需要在 "Enter"之前按 "OK",否则值将被丢弃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38294569/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com