Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android – OnDateChangedListener – ¿cómo se establece esto?

Hay un detector de eventos en Android llamado DatePicker.OnDateChangedListener . Estoy intentando fijar una vista de DatePicker en el oyente cambiado de fecha como sigue:

DatePicker dp = new DatePicker(getContext()); dp.setOnDateChangedListener(this); //where this is my activity extends DatePicker.OnDateChangedListener 

¿Pero adivina que? El selector de fechas no tiene un método llamado setOnDateChangedListener .

Mi pregunta es:

  1. ¿Cómo entonces usted fija una fecha cambió el oyente en androide?
  2. Si no es posible establecer una fecha de escucha cambiada, ¿cuál es el propósito de este evento?

Cualquier documentación / tutoriales será muy útil.

  • Android cómo mostrar DatePicker en Fragmento?
  • Cómo cambiar el estilo de selector de fecha en android?
  • ¿Cómo se establecen las fechas mínimas y máximas en un Android DatePicker?
  • Vista del Calendario de Android para el selector de fechas
  • Android DatePicker muestra meses no disponibles cuando se usan límites min / max
  • ¿Cómo establecer un límite mínimo y máximo para un selector de fecha en android?
  • Cambiar los textos de los botones de DatePickerDialog
  • Jelly Bean DatePickerDialog - ¿hay una manera de cancelar?
  • 5 Solutions collect form web for “Android – OnDateChangedListener – ¿cómo se establece esto?”

    Una vez que haya creado su DatePicker , debe inicializarlo con la fecha que desea mostrar al principio. Ese es el punto en el que puede agregar a su oyente.

    Vea DatePicker.init(int, int, int, OnDateChangedListener) .

    La mejor manera es

      DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker); Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(System.currentTimeMillis()); datePicker.init(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), new DatePicker.OnDateChangedListener() { @Override public void onDateChanged(DatePicker datePicker, int year, int month, int dayOfMonth) { Log.d("Date", "Year=" + year + " Month=" + (month + 1) + " day=" + dayOfMonth); } }); 

    Esta visión es de hecho una combinación de cuatro puntos de vista, y son:

    Tres hilanderos

    One CalendarView

    A partir de la OnDateChangeListener, el objeto que pasó en el método init será simplemente pasó a la CalendarView contenido, y creo que usted sabe que hay un método setOnDateChangeListener en el buen calendario viejo …… …. ..

    En la clase DatePicker, hay un método llamado getCalendarView, y es el método que puede llamar si desea obtener sus manos en el CalendarView contenido.

    Una vez que usted consigue sus manos en el CalendarView contenido, entonces, innecesariamente decir, usted puede llamar su setOnDateChangeListener

    Algo como esto:

     DatePicker myDatePicker = (DatePicker) findViewById(R.id.my_date_picker); myDatePicker.getCalendarView().setOnDateChangeListener(new CalendarView.OnDateChangeListener() { @Override public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) { Log.d("tag", "finally found the listener, the date is: year " + year + ", month " + month + ", dayOfMonth " + dayOfMonth); } }); 

    Llame a init() en el objeto DatePicker .

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.