我已经有了一个日期 Select 器,当用户单击EditText字段时会弹出该日期 Select 器

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();
            }
        });

我曾经try 过用类似的方式做一个计时器,但没能让它工作.这是我试图让它工作的try

 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();

            }
        });

有没有可能像我为DatePicker做的那样做呢?

我甚至try 过在使用此代码单击EditText字段后弹出一个时间 Select 器.

      eReminderTime.setOnClickListener(new OnClickListener() {

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

出于某种原因,当我进入Android Studio时,"showDialog"被划掉了.

谁能告诉我哪里出了问题吗?还是我只需要使用一个自定义的DialogFragment?

推荐答案

eReminderTime.setText( "" + selectedHour + ":" + selectedMinute);

""和选定的小时之间缺少+,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 Constructors

Android相关问答推荐

java.lang. IllegalState异常:CompositionLocal LifecycleOwner不存在

显示本地房间数据库中未保存的项目的动态列表

在Kotlin Jetpack Compose中点击按钮后启动另一个Android应用程序

Android开发:主题排版不适用于按钮文本

StateFlow集合AsState没有更新他的值Jetpack Compose导航

OverridePendingTransition已弃用,我该怎么办?

在 Bash 脚本中使用 XMLLINT 解析 XML 单元测试文件,并将其放入数组中以表示成功和失败

我需要在房间数据库中保留旧的自动迁移行吗?

面向Jetpack Compose的可组合放置问题

如何在Android Studio中删除项目

SQLite Kotlin 问题 - 没有数据库

根据另一个数组的值对数组进行排序

如何知道我的应用程序的新版本是否显示广告?

任务 ':app:checkReleaseDuplicateClasses' 执行失败

Jetpack Compose 中的滑动按钮菜单

为片段设置主题

ImageBitmap 使用 Glide/Coil 到画布

如何放置在柱子的角落(底端)

Android Studio xml 预览问题无法初始化编辑器

Kotlin Compose 全局页脚视图