当前位置: 首页 > 知识库问答 >
问题:

从单击EditText开始的TimePicker对话框

子车鸿才
2023-03-14

我已经有了一个DatePicker,当用户单击EditText字段时,它会弹出

eReminderDate.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                //To show current date in the datepicker
                Calendar mcurrentDate = Calendar.getInstance();
                int mYear = mcurrentDate.get(Calendar.YEAR);
                int mMonth = mcurrentDate.get(Calendar.MONTH);
                int mDay = mcurrentDate.get(Calendar.DAY_OF_MONTH);

                DatePickerDialog mDatePicker;
                mDatePicker = new DatePickerDialog(AddReminder.this, new OnDateSetListener() {
                    public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) {
                        // TODO Auto-generated method stub
                    /*      Your code   to get date and time    */
                        selectedmonth = selectedmonth + 1;
                        eReminderDate.setText("" + selectedday + "/" + selectedmonth + "/" + selectedyear);
                    }
                }, mYear, mMonth, mDay);
                mDatePicker.setTitle("Select Date");
                mDatePicker.show();
            }
        });
 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);
                mTimePicker.setTitle("Select Time");
                mTimePicker.show();

            }
        });
      eReminderTime.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            showDialog(TIME_DIALOG_ID);
        }
    });

出于某种原因,当我把它输入到Android Studio时,“显示对话框”被删除了。

有人能告诉我哪里出了问题吗?还是必须使用自定义的DialogFragment?

共有1个答案

宇文梓
2023-03-14
eReminderTime.setText( "" + selectedHour + ":" + selectedMinute);

“”和selected hour之间缺少一个+settext方法只接受一个字符串,因此需要连接所有部分(前引号可能不必要)。

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);//Yes 24 hour time
            mTimePicker.setTitle("Select Time");
            mTimePicker.show();

        }
    });

这应该可以修复第二个错误,您没有提供最后一个参数。TimePickerDialog构造函数

 类似资料:
  • 当单击时,我使用这个问题来获取。请注意,我正在将代码放在一个片段中。我改变了以下内容: 在settime.java中添加了:Context 它告诉我:构造函数没有定义。 我试着把它改成: 当试图运行应用程序时,我会遇到以下错误 appoinfragment.java settime.java

  • 任何帮助都将得到承认。

  • 我正在尝试为用户单击按钮时打开的覆盖对话框创建自己的实现。您在下面看到的代码工作得很好,但不是那么漂亮。我正在寻找一个实现,在这个实现中,我不必为我创建的每个对话框创建一个线程。有没有办法做到这一点? 我一直在浏览各种Java源文件,如和,以弄清楚它们做了什么来阻止线程,直到用户关闭对话框,但我没有设法理解它。此外,我尝试了各种代码片段,包括,例如或。 这是它的样子(请注意:覆盖对话框本身不是窗口

  • 如何使计时器对话框的按钮可以改变位置?此对话框不能被pad远程电视使用,我希望此对话框的按钮可以从pad远程电视获得焦点。有人能帮我吗?

  • 问题内容: 我正在尝试使用自定义angularjs指令在上设置确认对话框: 这很好用,但不幸的是,未评估使用我的指令的标记内的表达式: (这种情况下不评估名称)。这似乎是由于我的指令的终端参数。您有解决方法的想法吗? 要测试我的代码,请执行以下操作:http : //plnkr.co/edit/EHmRpfwsgSfEFVMgRLgj?p=preview 问题答案: 如果您不介意不使用,则可以正常

  • 我似乎无法从扩展Fragment的类中获得imageview上的onClick事件。我在这里做错了什么?我对Android开发相对来说是新手..