Locale
nesneler haftanın ilk gününü kontrol etmiyoruz. Gautam Jose'nin Yanıta your comment göre
: Bu şu şekilde Calendar
sınıfı tarafından yapılır Normalde bu sadece iyi
olurdu. Şey, kullandığım denetim, Takvim nesnelerini varsayılan yerel (uygulama kapsamı bilge), yani özel bir yerel ayarlara göre başlatmaya devam ediyor. Aslında kontrolünü mühendislik ters çalıştı ve bunun nedeni bu özel üyelerini kullanarak soruna gecikmeyi sağlamaz:
Eğer bu değiştirirseniz miras gerekmez (yani burada yardımcı olamaz miras) Java yansıma API'sini kullanarak doğrudan private
üye.
Birincisi, Calendar
alanı bulmak için denetim sınıfı incelemek:
public class CalendarControl {
private Calendar calendar;
}
Şimdi kullanın:
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
}
. Özel değerleri değiştirme konusundaki yetersizliğim, soruyu ilk sırada sormam için beni zorladı. Sebebi ne olursa olsun setAccessible bir süre benim için çalışmadı. Daha sonra işe yaradı, bu yüzden yanlış bir şey yapmalıydım. Bu şimdi orijinal kontrol ile oynamama izin verecek. – mido