¿Cómo mostrar selector de fecha para android con solo mes y año campos?

Quiero desactivar la opción de selección de día en el selector de fecha android sdk. Cualquier configuración xml fácil sería la mejor

7 Solutions collect form web for “¿Cómo mostrar selector de fecha para android con solo mes y año campos?”

Acabo de publicar un nuevo marco de recolección de fecha que le permite crear selector de fecha personalizada. También he proporcionado algunos selectores de fecha de ejemplo como el que está buscando. Espero que funcione para usted.

El código se puede encontrar aquí: https://github.com/bendemboski/DateSlider

UPDATE 06/2014: Esta biblioteca fue desarrollada en 2010 y no ha sido mantenida desde 2011. Por lo tanto, es más probable que ya esté obsoleto .

Es posible hackear la instancia de DatePicker usando la reflexión. De esta manera, podrá acceder a la instancia NumberPicker que representa el día en el DatePicker:

datePicker = (DatePicker) findViewById(R.id.expiration_date); try { Field f[] = datePicker.getClass().getDeclaredFields(); for (Field field : f) { if (field.getName().equals("mDayPicker")) { field.setAccessible(true); Object dayPicker = new Object(); dayPicker = field.get(datePicker); ((View) dayPicker).setVisibility(View.GONE); } } } catch (SecurityException e) { Log.d("ERROR", e.getMessage()); } catch (IllegalArgumentException e) { Log.d("ERROR", e.getMessage()); } catch (IllegalAccessException e) { Log.d("ERROR", e.getMessage()); } 

Hablando de reflexión esto funciona en Android 4.4.2 SDK

 "mDaySpinner" 

en lugar

 "mDayPicker" 

Creo que es la mejor solución

  datePicker.findViewById(Resources.getSystem().getIdentifier("day", "id", "android")).setVisibility(View.GONE); 

EDIT: según el comentario a continuación, no seguiría esta respuesta más.

No creo que pueda hacer eso con el selector de fecha predeterminado. Tendrás que crearlo a partir de elementos básicos de la interfaz de usuario de Android. Pero en lugar de ir a ese problema, ¿por qué no utilizar un mejor elemento de la biblioteca como esta rueda de gran aspecto iPhone-esque: http://code.google.com/p/android-wheel/ No lo he utilizado todavía, pero ¡Planeo!

Esto funciona bien en la versión 2.2. Pero el título del diálogo no cambia.

 for (Field datePickerDialogField : datePickerDialogFields) { if (datePickerDialogField.getName().equals("mDatePicker")) { datePickerDialogField.setAccessible(true); DatePicker datePicker = (DatePicker) datePickerDialogField.get(datePickerDialog); Field datePickerFields[] = datePickerDialogField.getType().getDeclaredFields(); for (Field datePickerField : datePickerFields) { if ("mDayPicker".equals(datePickerField.getName())) { datePickerField.setAccessible(true); Object dayPicker = new Object(); dayPicker = datePickerField.get(datePicker); ((View) dayPicker).setVisibility(View.GONE); } } } } 

Puede utilizar el widget https://github.com/SimonVT/android-datepicker para la compatibilidad con backports y hacer que el selector de días "desaparezca"

 <net.simonvt.numberpicker.NumberPicker android:id="@+id/day" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16dip" android:layout_marginRight="16dip" android:focusable="true" android:focusableInTouchMode="true" android:visibility="gone" /> 
  • Android vs android-sdk-mac_86
  • No se pudo encontrar: com.android.support:appcompat-v7:22.2.0
  • Cómo cambiar la ruta .android
  • No se pueden actualizar las herramientas SDK de Android
  • Falta el directorio de plataforma-tools \ aapt.exe en android SDK
  • ¿Cómo cambiar o cambiar entre las pestañas en la distribución gráfica sdk de Android?
  • Android L: Compatibilidad con versiones anteriores de Android
  • ¿Por qué instalar Android LatinIME obtiene Fallo?
  • ¿Existe alguna fuente abierta de Realidad Aumentada sdk para android?
  • ¿Dónde se encuentra la carpeta SDK de Android?
  • Bloquear una llamada de red desde una aplicación Android de SDK
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.