Locale
oggetti non controllano il primo giorno della settimana. Questo viene fatto dalla classe Calendar
nel modo seguente:
Secondo your comment sulla risposta di Gautam Jose:
Normalmente questo sarebbe stato bene. Il controllo che sto utilizzando continua a creare un'istanza degli oggetti del Calendario in base alle impostazioni internazionali predefinite (ambito applicativo saggio), quindi una locale personalizzata. Ho effettivamente provato il controllo inverso del controllo e non fornisce margine di manovra intorno al problema a causa dell'utilizzo di membri privati (ad esempio: l'ereditarietà non può essere d'aiuto)
Non è necessario ereditare se si modificano questi private
membri direttamente utilizzando l'API di riflessione Java.
In primo luogo, ispezionare classe del controllo per trovare il campo Calendar
:
public class CalendarControl {
private Calendar calendar;
}
Ora usare:
CalendarControl control; // The instance to manipulate
try {
Field field = control.getClass().getDeclaredField("calendar");
field.setAccessible(true);
field.set(control, calendar); // Pass the new object we created at top of this answer
} catch (Exception ex) {
// You must catch NoSuchFieldException and IllegalAccessException here
}
fonte
2015-08-04 13:34:31
Hai centrato l'unghia sulla testa di Francesco. La mia incapacità di modificare i valori privati è stato ciò che mi ha costretto a porre la domanda in primo luogo. Per qualsiasi motivo setAccessible non ha funzionato per me un po '. Più tardi, ha funzionato, quindi devo aver fatto qualcosa di sbagliato. Questo ora mi permetterà di giocare con il controllo originale. – mido