今週のIE:Mon-Sunに現在の日付を取得しようとしています。次に、前と次の2つのボタンがあり、次と前の週の日付を取得するはずです。これにより、私は年の何週も無期限に回転することができます。Androidカレンダーは現在の週、前の週、次の週を取得します
- 前の週:2017/05/8から2017/5月14日
- ロード週:2017/05/15から2017/5月21日
- 来週:2017/05/22から2017/05/28
コードは中間日Mon-Sunを読み込みます。次のボタンを押すと、次の週の次の日に連れて行かれます。ここから「前へ」を押すと、最初にロードされた週がスキップされ、次の週の日付にジャンプします。私は前へ次へと別の方法をとって同じことが起こります。次のボタンや前のボタンを押すと、新しい週の読み込みを続行しません。
私は間違っていますか?
初期負荷コード:
DateFormat format = new SimpleDateFormat("M-dd");
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
days = new String[7];
for (int i = 0; i < 7; i++)
{
days[i] = format.format(calendar.getTime());
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
来週コード:
DateFormat format = new SimpleDateFormat("M-dd");
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
calendar.add(Calendar.DAY_OF_MONTH, 7);
days = new String[7];
for (int i = 0; i < 7; i++)
{
days[i] = format.format(calendar.getTime());
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
前の週コード:
DateFormat format = new SimpleDateFormat("M-dd");
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
calendar.add(Calendar.DAY_OF_MONTH, -7);
days = new String[7];
for (int i = 0; i < 7; i++)
{
days[i] = format.format(calendar.getTime());
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
ソリューション:
Calendar calendar; // Stick this at the start of your code
初期負荷コード:
DateFormat format = new SimpleDateFormat("M-dd");
calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
days = new String[7];
for (int i = 0; i < 7; i++)
{
days[i] = format.format(calendar.getTime());
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
来週コード:
DateFormat format = new SimpleDateFormat("M-dd");
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
calendar.add(Calendar.DAY_OF_MONTH, 7);
days = new String[7];
for (int i = 0; i < 7; i++)
{
days[i] = format.format(calendar.getTime());
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
前の週コード:カレンダーカレンダー=カレンダー:
DateFormat format = new SimpleDateFormat("M-dd");
calendar.setFirstDayOfWeek(Calendar.MONDAY);
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
calendar.add(Calendar.DAY_OF_MONTH, -7);
days = new String[7];
for (int i = 0; i < 7; i++)
{
days[i] = format.format(calendar.getTime());
calendar.add(Calendar.DAY_OF_MONTH, 1);
}
*「私は間違っていますか?」*あなたはあなたがどこにいるか覚えていません。あなたの「次の週のコード」は、現在表示されている週に相対的ではなく、**今日の**に対応して、次の週にいつも得られます。 – Andreas
私はそれを修正することをどのように提案しますか? – BrownT