gpt4 book ai didi

java - 有没有办法在不使用 TimePickerDialog 的情况下获取 TimePicker 的时间?

转载 作者:行者123 更新时间:2023-12-01 14:39:14 26 4
gpt4 key购买 nike

我想知道是否有一种方法可以在不使用对话框的情况下获取用户在屏幕上的时间选择器中设置的时间。当我可以在屏幕上显示 TimePicker 时,我不认为创建一个弹出 TimePickerDialog 的按钮有什么意义。 IE。正如本教程和许多其他类似的 TimePicker 教程中所示,拥有两个 TimePicker 是没有意义的:http://www.mkyong.com/android/android-time-picker-example/

我正在使用 picker.getCurrentHour() 和 picker.getCurrentMinute() 但它只是在我按下按钮后返回系统的当前时间。有没有办法获取用户输入的时间?

这是我在单击按钮后检索时间的方法:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_set_time);
picker = new TimePicker(SetTimeActivity.this);
Button save=(Button)findViewById(R.id.saveAlarmButton);
save.setOnClickListener(onSave);
}

private View.OnClickListener onSave=new View.OnClickListener()
{
public void onClick(View v)
{
hour=picker.getCurrentHour();
min=picker.getCurrentMinute();

System.out.println(hour + " : " + min);
}
};


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".SetTimeActivity" >

<Button
android:id="@+id/saveAlarmButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/timePicker"
android:layout_centerHorizontal="true"
android:layout_marginTop="28dp"
android:text="Save" />

<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="32dp" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="26dp"
android:text="Set time for alarm"
android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

但它只给我当前时间。

最佳答案

您的代码应该可以正常工作。当您尝试通过数字输入输入日期时,可能会出现此问题。这是由于 NumberPicker 更新,导致选择器失去焦点。因此,您可以尝试确保选择器失去焦点,因此它将消耗当前的用户输入:

picker.clearFocus();
hour=picker.getCurrentHour();
min=picker.getCurrentMinute();

关于java - 有没有办法在不使用 TimePickerDialog 的情况下获取 TimePicker 的时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16154881/

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