【问题标题】:EditText pops up TimePicker for Alarm/Reminder SystemEditText 弹出 TimePicker for Alarm/Reminder System
【发布时间】:2013-07-24 17:56:41
【问题描述】:

是否可以在单击/触摸 EditText 时弹出 TimePicker?

我已经尝试寻找这方面的示例,但我没有找到任何示例。我想利用输入的这个时间来设置警报,所以如果有人能告诉我如何做到这一点并提供一个例子,那就太好了。

如果时间是 24 小时格式而不是 12 小时格式,我会更喜欢它。

感谢您提交的任何答案。

【问题讨论】:

    标签: android android-alarms


    【解决方案1】:

    我会给你一些提示来实现这一点。

    1. 要在单击/触摸 EditText 后显示弹出/对话框,您将在此处找到答案:Android EditText onClickListener。如果单击 EditText 后弹出对话框是标准/非标准界面,也有讨论。

    2. 对于 TimePicker,您可以使用系统 TimePickerDialog。您可以在此处找到 TimePickerDialog 的教程:http://www.pavanh.com/2013/04/android-timepicker-example.html

    3. 要在 TimePicker 中使用 24 小时格式而不是 12 小时格式,您可以使用以下方法:timePicker.setIs24HourView(true),或者如果您使用 TimePickerDialog,您将在构造函数中传递 true。

    希望对你有所帮助。

    【讨论】:

    • 没有DialogFragment就没有办法吗?我得到了 EditText 来打开 DatePicker,而不必使用复杂的自定义 DialogFragment
    • 是的,看看这个链接,我已经发布了我试过的代码 - stackoverflow.com/questions/17901946/…
    • 我更新了第2点。您可以使用系统TimePickerDialog。因此无需创建自定义对话框。我认为第 2 点的教程可以帮助您解决您发布评论的问题。
    • 漏掉了一小段代码,把它整理好了。 +1 试图帮助我并为 TimePickerDialog 提供教程
    【解决方案2】:

    这就是解决方案。我忘记了真/假布尔值,这就是为什么当我尝试类似于 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();
    
                }
            });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多