date picker showing error

前端 未结 4 1357

I\'m trying to add a Date Picker to my code, but an error is being shown over \"pickerListener\" inside the \"fromDate_textView.setOnClickListener\" saying:

4条回答
  •  一向
    一向 (楼主)
    2020-12-22 03:17

    Use this Code may solve your Problem, Its working fine

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

提交回复
热议问题