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 .

  • ZXing en Android PDF417
  • Comunicación USB entre Android (modo accesorio) y Windows PC (host)
  • ¿Cómo deshabilitar el botón de encendido?
  • Java.lang.IllegalStateException: Sin actividad
  • ¿Cómo ocultar el icono de acción compartida (que utiliza más) cerca del proveedor de acciones compartidas?
  • ¿Por qué los tamaños de fuente EM son muy pequeños en Android Mobile?
  • 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.

  • El enlace profundo de Android no funciona si la aplicación se abre mediante vínculo profundo ya
  • NullPointerException en FragmentManager
  • Cómo cambiar la posición de los elementos del menú en la barra de acciones
  • Eliminación de una actividad de la pila de historial
  • Android cómo aplicar la máscara en ImageView?
  • Android: utilice WebView para evaluar una cadena javascript y devolver el valor
  • 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.