Ich habe einige Code, der die aktuelle Woche und lädt sie in ein Array bekommt:Android bekommen vergangenen Woche Termine
DateFormat format = new SimpleDateFormat("M-dd");
calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.SUNDAY);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
days = new String[7];
for (int i = 0; i < 7; i++)
{
calendar.add(Calendar.DATE, 1);
days[i] = format.format(calendar.getTime());
}
ich dann einen Code haben, der auf die Auswahl einer Schaltfläche ausgeführt wird, die in der vergangenen Woche abruft ein Array Daten und lädt sie in:
DateFormat format = new SimpleDateFormat("M-dd");
days = new String[7];
for (int i = 0; i < 7; i++)
{
calendar.add(Calendar.DATE, -1);
days[i]=format.format(calendar.getTime());
}
Mein Problem ist, dass es zum Beispiel geladen werden kann: 5-22-17, 5-23-17, 5-24-17, 5-25-17, 5 -26-17, 5-27-17, 5-28-17 in die Anfangslast für die erste Woche und dann, wenn ich auf meine Previous-Taste klicke, um den vorherigen Tastencode auszuführen, geht es nur zurück 1 Tag: 5-21-17 - 5-27-17. Wenn ich es noch einmal anklicke, geht es eine ganze Woche zurück: 5-14-17 - 5-20-17.
Wie kann ich meinen Code beheben in der vergangenen Woche Tage korrekt auf dem ersten Klick abzurufen?
Ist das nicht der Wert von 'calendar' am Ende der ersten Anzeige' 5-28'? Und dann rennst du 7 Mal und subtrahierst von '5-28 '(was dich zu 5-21 bringt). Sie laufen dann erneut und subtrahieren von 5-21? Das Problem ist also, dass Sie den Beginn der Woche in einem separaten "Kalender" -Objekt halten sollten? – KevinO