Establezca el primer día de la semana en DatePicker a lunes

Tengo un DatePicker donde deshabilité el SpinnerView y ahora sólo uso el CalendarView. Pero comienza con el domingo y me gustaría usar el lunes como el primer día de la semana. ¿Cómo puedo cambiar eso? Supuse que el primer día dependería de la configuración de los teléfonos, pero en mi teléfono suizo aún está equivocado …

No he encontrado ningún método establecido ni ningún comando XML.

<DatePicker android:id="@+id/date_picker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" /> 

y

 DatePicker datePicker = (DatePicker) convertView.findViewById(R.id.date_picker); datePicker.setSpinnersShown(false); 

————EDITAR:————

He intentado cambiar la configuración regional:

 Locale.setDefault(Locale.GERMAN); 

Pero eso no cambió nada éter. Así que leí el android-17.android.widget.DatePicker.java donde descubrí:

 public DatePicker(Context context, AttributeSet attrs, int defStyle) { //... // initialization based on locale setCurrentLocale(Locale.getDefault()); //... } /** * Sets the current locale. * * @param locale The current locale. */ private void setCurrentLocale(Locale locale) { if (locale.equals(mCurrentLocale)) { return; } mCurrentLocale = locale; mTempDate = getCalendarForLocale(mTempDate, locale); mMinDate = getCalendarForLocale(mMinDate, locale); mMaxDate = getCalendarForLocale(mMaxDate, locale); mCurrentDate = getCalendarForLocale(mCurrentDate, locale); mNumberOfMonths = mTempDate.getActualMaximum(Calendar.MONTH) + 1; mShortMonths = new String[mNumberOfMonths]; for (int i = 0; i < mNumberOfMonths; i++) { mShortMonths[i] = DateUtils.getMonthString(Calendar.JANUARY + i, DateUtils.LENGTH_MEDIUM); } } /** * Gets a calendar for locale bootstrapped with the value of a given calendar. * * @param oldCalendar The old calendar. * @param locale The locale. */ private Calendar getCalendarForLocale(Calendar oldCalendar, Locale locale) { if (oldCalendar == null) { return Calendar.getInstance(locale); } else { final long currentTimeMillis = oldCalendar.getTimeInMillis(); Calendar newCalendar = Calendar.getInstance(locale); newCalendar.setTimeInMillis(currentTimeMillis); return newCalendar; } } 

Entonces, ¿por qué Locale.setDefault (Locale.GERMAN) no funciona ?! Como se puede ver arriba obtengo el DatePicker del XML .. ¿hay algún error ?!

Tienes que configurar manualmente el primer día de la semana, por ejemplo en onCreate () / onCreateView () de tu actividad / fragmento:

 date = (DatePicker) value.findViewById(R.id.date); if (Build.VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB_MR1) { date.setSpinnersShown(false); date.setCalendarViewShown(true); date.getCalendarView().setFirstDayOfWeek(Calendar.getInstance().getFirstDayOfWeek()); } 

El ejemplo anterior utiliza la configuración regional predeterminada (Calendar.getInstance () realmente lo hace), sin embargo, puede especificar el día manualmente:

 date.getCalendarView().setFirstDayOfWeek(Calendar.MONDAY); 

La respuesta actualmente aceptada usando getCalendarView() está obsoleta con el estilo Material.

Sin embargo, puede llamar a setFirstDayOfWeek() en la instancia de DatePicker . O en caso de que estés empezando un DatePickerDialog :

 DatePickerDialog datePickerDlg = new DatePickerDialog(...); datePickerDlg.getDatePicker().setFirstDayOfWeek(Calendar.MONDAY); datePickerDlg.show(); 

Depende de la localización de su dispositivo.

Echa un vistazo aquí: ¿Cómo hacer GWT DatePicker para usar el lunes como el primer día de la semana?

  • ¿Cómo obtener la última fecha de modificación del archivo en línea?
  • La subclase SimpleDateFormat añade 1900 al año
  • Android, ¿Cómo puedo convertir la cadena a la fecha?
  • Android parse String hasta la fecha - carácter de patrón desconocido 'X'
  • Convertir fecha GMT DateTime
  • Java.text.ParseException: fecha inquebrantable
  • Formato de la fecha y la hora de acuerdo con la configuración regional del usuario y las preferencias con segundos
  • Cómo hacer una fecha spinner en Android
  • Anular el primer día de la semana en joda?
  • Get Value Of Day Month forma objeto de la fecha en Android?
  • Android - Error al conectar con URI de inicio de sesión
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.