我正在尝试将日期选择器添加到我的代码中,但是在“ fromDate_textView.setOnClickListener”内的“ pickerListener”上显示错误:
“ fromDate_textView.setOnClickListener”
“ pickerListener”
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); } };