Quiero mostrar la ventana emergente datepicker. He encontrado algunos ejemplos pero no lo estoy obteniendo correctamente. Tengo un texto de edición y quiero que cuando haga clic en texto de edición, aparezca el cuadro de diálogo selector de fecha y después de configurar la fecha, la fecha debería aparecer en texto de edición en formato dd / mm / aaaa. Por favor, proporcione un código de muestra o buenos enlaces.
android
android-datepicker
Surabhi Pandey
fuente
fuente
Respuestas:
Pruebe esto en el archivo XML:
Ahora en archivo Java:
Ahora agregue el método en la actividad anterior.
Agregue
android:focusable="false"
dentro del archivo xml del EditText para permitir un solo toque.fuente
android:focusable="false"
yonclicklistner
android:longClickable="false"
también. De lo contrario, el usuario puede abrir la opción de pegar en el campo (y así ingresar fechas no válidas).No pude hacer que ninguno de estos funcionara, así que agregaré el mío solo en caso de que ayude.
También algo que no se menciona en los demás. Asegúrese de poner lo siguiente en EditText xml.
De lo contrario, como en mi caso, el teclado seguirá apareciendo. Espero que esto ayude a alguien
fuente
fuente
También hay otra forma mejor reutilizable:
Crear una clase:
Luego llame a esta clase bajo la función onCreate:
fuente
class setDate implements View.OnFocusChangeListener, DatePickerDialog.OnDateSetListener {
?ARCHIVO JAVA
fuente
Así es como lo hago: similar a la respuesta elegida, pero usando una clase de diálogo estático para que sea más reutilizable, y también usando onFocusChange en lugar de onClick.
Y el diálogo datepicker.
fuente
La respuesta seleccionada no funcionó para mí, ya que tuve que tocar el cuadro EditText una vez, y luego tocarlo nuevamente antes de que se activara OnClickListener. Pude solucionar esto reemplazando OnClickListener con OnTouchListener, en caso de que alguien se haya encontrado con un problema similar aquí es cómo se ve mi código:
fuente
# 1 Quiero mostrar un selector de fecha con la fecha actual como preseleccionada (uso butterknife para inyección)
2. Si desea preseleccionar la fecha, reemplace la última parte con
entonces puede obtenerlo usando la variable myCalendar o directamente el texto en su vista.
fuente
Una solución que utiliza fragmentos, MvvmCross y Xamarin.Android
fuente
fuente
Mi clase para el show
DatePicker
. Puedo usar paraEditText
,TextView
oButton
Utilizando
fuente
Usando DataBinding:
(ver
focusable
,inputType
yonClick
)Vista interior del modelo:
fuente
Uso:
fuente
Use esta técnica simple para hacerlo:
Paso 1: CREAR UN DIÁLOGO DE FRAGMENTOS
Paso 2: EN LA ACTIVIDAD REQUERIDA SIGA ESTO
La actividad debe implementar: DatePickerDialog.OnDateSetListener
Establezca onClickListener en un botón:
Paso 3: anular OnDateSetListener
Por lo tanto, podemos usar cualquier formato para la fecha :)
fuente
He intentado todas las formas sugeridas, pero todas tienen sus propios problemas.
La mejor solución en mi opinión sería usar un diseño de marco como el siguiente:
y luego agregando el código DatePickerDialog que fue bellamente escrito en la respuesta de @ Android.
fuente
Pensé que era mejor anular la clase EditText ...
Y use eso en el XML en su lugar ...
fuente
fuente
Utilizar este
fuente
Puerto Kotlin, llame a la función setDatePicker
fuente
fuente
Prueba esto
fuente
editText.setOnClickListener (nueva View.OnClickListener () {
fuente
Cuadro de diálogo Selector de fecha
fuente
Prueba esto:
fuente
También puede establecer la fecha mínima y la fecha máxima mediante estas declaraciones.
Nota: agregue estas líneas antes de datepickerDialog.show (); declaración tendrá la fecha así = 12/2/2017.
Espero que mi respuesta ayude.
fuente
Esto funcionó para mí en enero de 2020
Parte XML:
Parte de Java:
fuente
Aquí hay una función de extensión de Kotlin:
Uso:
En actividad:
En fragmentos:
fuente
Mi solución para Xamarin.Android con MvvmCross basado en Linh:
Para una versión vainilla de Xamarin.Android, simplemente reemplace WeakSubscribe con una suscripción regular al evento Click de EditText, sin olvidar darse de baja en la anulación del método Dispose.
fuente