【发布时间】:2013-04-23 04:05:02
【问题描述】:
我想知道是否有一种方法可以在不使用对话框的情况下获取用户在屏幕上的 TimePicker 中设置的时间。当我只能在屏幕上显示 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>
但它只是给了我当前时间。
【问题讨论】:
-
我不知道为什么这不起作用,我会看一下 TimePickerDialog 源代码,看看它的工作方式是否不同,但只是看一眼,它看起来工作方式完全相同.
-
您正在创建未添加到布局的选择器。这就是您获得当前时间的原因。
-
对不起,我不明白。选择器就在那里……我正在看到并触摸它。从字面上看。
-
添加布局xml,我可以帮你。你需要使用
findViewById -
啊,我明白了。我在上面添加了xml
标签: java android time timepicker