【发布时间】:2013-07-24 17:56:41
【问题描述】:
是否可以在单击/触摸 EditText 时弹出 TimePicker?
我已经尝试寻找这方面的示例,但我没有找到任何示例。我想利用输入的这个时间来设置警报,所以如果有人能告诉我如何做到这一点并提供一个例子,那就太好了。
如果时间是 24 小时格式而不是 12 小时格式,我会更喜欢它。
感谢您提交的任何答案。
【问题讨论】:
是否可以在单击/触摸 EditText 时弹出 TimePicker?
我已经尝试寻找这方面的示例,但我没有找到任何示例。我想利用输入的这个时间来设置警报,所以如果有人能告诉我如何做到这一点并提供一个例子,那就太好了。
如果时间是 24 小时格式而不是 12 小时格式,我会更喜欢它。
感谢您提交的任何答案。
【问题讨论】:
我会给你一些提示来实现这一点。
要在单击/触摸 EditText 后显示弹出/对话框,您将在此处找到答案:Android EditText onClickListener。如果单击 EditText 后弹出对话框是标准/非标准界面,也有讨论。
对于 TimePicker,您可以使用系统 TimePickerDialog。您可以在此处找到 TimePickerDialog 的教程:http://www.pavanh.com/2013/04/android-timepicker-example.html
要在 TimePicker 中使用 24 小时格式而不是 12 小时格式,您可以使用以下方法:timePicker.setIs24HourView(true),或者如果您使用 TimePickerDialog,您将在构造函数中传递 true。
希望对你有所帮助。
【讨论】:
这就是解决方案。我忘记了真/假布尔值,这就是为什么当我尝试类似于 DatePicker 代码时它不起作用的原因。
eReminderTime.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Calendar mcurrentTime = Calendar.getInstance();
int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
int minute = mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(AddReminder.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
eReminderTime.setText( "" + selectedHour + ":" + selectedMinute);
}
}, hour, minute, true);
mTimePicker.setTitle("Select Time");
mTimePicker.show();
}
});
【讨论】: