我想知道是否有一种方法可以在不使用对话框的情况下获取用户在屏幕上的 TimePicker 中设置的时间。当我可以在屏幕上显示 TimePicker 时,我没有看到创建一个会弹出 TimePickerDialog 的按钮的意义。即在本教程和许多其他类似的 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>
但它只是给了我当前的时间。