gpt4 book ai didi

Android:输入时如何从TimePicker获取时间

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:51:41 25 4
gpt4 key购买 nike

我有一个 DialogPreference,它实现了一个简单的 TimePicker.OnTimeChangedListener(见下文)。通过单击 +/- 按钮设置时间​​效果很好。但是我不知道当用户直接在文本字段中输入时间时如何保存时间选择器的状态。访问当前文本字段值可能就足够了,因此我可以将其保留在 onDialogClosed 中。但是 timePicker.getCurrentHour() 不会这样做。请帮助...

public class TimePreference extends DialogPreference implements
TimePicker.OnTimeChangedListener {
// ...
@Override
public void onTimeChanged(TimePicker view, int hours, int minutes) {
selectedHours = hours;
selectedMinutes = minutes;
}

@Override
public void onDialogClosed(boolean positiveResult) {
if(positiveResult) {
String timeString = selectedHours + ":" + selectedMinutes;
if(isPersistent()) {
persistString(timeString);
}
}
}
// ...
}

最佳答案

直到偶然发现这个问题,我才注意到这个问题。有一个简单的解决方案:当用户完成更改我的应用程序中的日期和时间时,我只需调用 finish() 并在 onPause() 或 onStop() 或 onDestroy() 中执行此操作:

// force the timepicker to loose focus and the typed value is available !
timePicker.clearFocus();
// re-read the values, in my case i put them in a Time object.
time.hour = timePicker.getCurrentHour();
time.minute = timePicker.getCurrentMinute();

在此之后,我将 time.toMillis(false) 值存储在表的相应列中。

我不知道时间选择器是否仍然可以在您的 onDialogClosed(boolean positiveResult) 中访问。如果没有,找到另一个回调以在它仍然存在时使用。

希望这对您有所帮助。

关于Android:输入时如何从TimePicker获取时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3992820/

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