当前位置: 首页 > 面试题库 >

日期选择器显示错误

夏晋
2023-03-14
问题内容

我正在尝试将日期选择器添加到我的代码中,但是在“ fromDate_textView.setOnClickListener”内的“ pickerListener”上显示错误:

pickerListener无法解析为变量

谁能帮我解决问题?

fromDate_textView.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            showDialog(DatePickerDialog(Sell_Product_Activity.this,
                    pickerListener, year, month, day));
        }
    });

    DatePickerDialog.OnDateSetListener pickerListener = new DatePickerDialog.OnDateSetListener() {

        // when dialog box is closed, below method will be called.
        @Override
        public void onDateSet(DatePicker view, int selectedYear,
                int selectedMonth, int selectedDay) {

            year = selectedYear;
            month = selectedMonth;
            day = selectedDay;

            // Show selected date
            fromDate_textView.setText(new StringBuilder().append(month + 1)
                    .append("-").append(day).append("-").append(year)
                    .append(" "));

        }
    };

问题答案:

使用此代码可以解决您的问题,可以正常工作

  // for date picker

        private int year;
        private int month;
        private int day;
        static final int DATE_PICKER_ID = 1111;

// for date picker
    private EditText m3_DateDisplay;

    @Override
        protected void onCreate(Bundle savedInstanceState) 
    {

        super.onCreate(savedInstanceState);

m3_DateDisplay = (EditText) findViewById(R.id.editText3);


         // Get current date by calender

        final Calendar c = Calendar.getInstance();
        year = c.get(Calendar.YEAR);
        month = c.get(Calendar.MONTH);
        day = c.get(Calendar.DAY_OF_MONTH);

        // Show current date

        /*m3_DateDisplay.setText(new StringBuilder()
                // Month is 0 based, just add 1
                .append(day).append("-").append(month + 1).append("-")
                .append(year).append(" "));*/


        // Show selected date
        StringBuilder dateValue1=new StringBuilder().append(day).append("-")
        .append(month + 1).append("-").append(year).append(" ");


        //for Converting Correct Date format Save into Database
        SimpleDateFormat sdf123 = new SimpleDateFormat("dd-MM-yyyy");
        String abs1= dateValue1.toString();
        Date testDate1 = null;
         try {
            testDate1 = sdf123.parse(abs1);
        } catch (ParseException e) {

            e.printStackTrace();
        }
        SimpleDateFormat formatter1 = new SimpleDateFormat("dd-MM-yyyy");
        String DateFormat=formatter1.format(testDate1);

        m3_DateDisplay.setText(DateFormat);



            m3_DateDisplay.setFocusable(false);
            m3_DateDisplay.setInputType(InputType.TYPE_NULL);
            m3_DateDisplay.setOnClickListener(new View.OnClickListener() {
                @SuppressWarnings("deprecation")
                @Override
                public void onClick(View v) {
                    showDialog(DATE_PICKER_ID);
                }
            });

    }

    @Override
        protected Dialog onCreateDialog(int id)
        {
            switch (id) {
            case DATE_PICKER_ID:

                // open datepicker dialog.
                // set date picker for current date
                // add pickerListener listner to date picker
                //return new DatePickerDialog(this, pickerListener, year, month, day);

                /////Only Show till Date Not More than That.
                    DatePickerDialog dialog = new DatePickerDialog(this, pickerListener, year, month, day);
                    dialog.getDatePicker().setMaxDate(new Date().getTime());
                    return dialog;
            }
            return null;
        }

        private DatePickerDialog.OnDateSetListener pickerListener = new DatePickerDialog.OnDateSetListener()
        {

            // when dialog box is closed, below method will be called.
            @Override
            public void onDateSet(DatePicker view, int selectedYear,
                    int selectedMonth, int selectedDay) {

                year = selectedYear;
                month = selectedMonth;
                day = selectedDay;



                // Show selected date
                            StringBuilder dateValue=new StringBuilder().append(day).append("-")
                            .append(month + 1).append("-").append(year).append(" ");


                //for Converting Correct Date format Save into Database
                    SimpleDateFormat sdf123 = new SimpleDateFormat("dd-MM-yyyy");
                            String abs1= dateValue.toString();
                            Date testDate1 = null;
                             try {
                                testDate1 = sdf123.parse(abs1);
                            } catch (ParseException e) {

                                e.printStackTrace();
                            }
                SimpleDateFormat formatter1 = new SimpleDateFormat("dd-MM-yyyy");
                            String DateFormat=formatter1.format(testDate1);

                            m3_DateDisplay.setText(DateFormat);


            }
        };


 类似资料:
  • 问题内容: 我想使用swift在xcode中使用datePicker将星期几仅存储为字符串。 问题答案:

  • 我正在尝试实现日期选择器对话框,但该对话框显示只有一个日期,并显示日期的其余部分为空白,这可能是什么原因?

  • 我开发了android应用程序,不幸的是,在一些旧设备中它不工作...我只是在我的TextView上设置了单击监听器,它显示datePicker对话,在我的日期选择器代码中,只是将日期设置为相同的TextView。 在我的活动中: 我的日期选择器片段代码....所有这些代码都在我的单一活动中。 好心有人帮忙....谢谢:)

  • 问题内容: 这是关于如何在django支持的网站中使用jQuery 。 是 我正在使用。 我正在使用和创建成功显示日期。 但未显示日期选择器图标。我正在使用Django模型形式。 问题答案: 你可以使用来将a传递给表单,该表单将在html中呈现。然后,将读取该内容以呈现功能。 这是一个例子: …或使用ModelForm时通过Meta类中的属性: 现在在模板中:

  • 我正在使用引导datetimepicker库使用日历选择日期。现在,由于需求变化,我还需要选择时间和日期。 在新变化之前,我使用下面的代码在文本字段上显示日历: 通过上面的代码,日历显示正常,一切正常。 为了显示时间选项,我刚刚更改了如下格式: 但使用这种方式,只显示时间选项,不显示日历。请看我附带的屏幕截图: 单击此处查看问题屏幕截图 我正在使用以下库来使用日历: https://cdnjs.c

  • 我试图在日期选取器上显示验证错误消息,就像我们使用错误文本和错误样式属性对TextField执行的操作一样,但验证错误消息不适用于日期选择器。 我用的是素材-ui版“^0.18.7". 请在下面找到完整的功能。我不确定如何实现这个。我也知道errorText和errorStyle不是DatePicker的有效道具。我以为它适用于datepicker,但事实并非如此。有没有办法实现这一点。 请建议。