주 IE : Mon-Sun의 현재 요일을 검색하려고합니다. 그 다음과 다음 주 날짜를 검색해야하는 이전 및 다음 두 개의 단추가 있습니다. 이렇게하면 1 년 동안 무기한으로 회전 할 수 있습니다.Android 캘린더에서 현재 주, 이전 주 및 다음 주 가져 오기
- 지난 주 : 2017/05/8-2017/05/(14)
- 로드 주 : 2017/05/15-2017/05/(21)
- 다음 주 : 2017/05/22-2017/05/28
이 코드는 중간 날짜 Mon-Sun을로드합니다. 다음 버튼을 누르면 다음 주에 다음 요일로 이동합니다. 여기에서 이전을 누르면 처음로드 된 주를 건너 뛰고 다음 주일로 이동합니다. Previous to Next (이전으로 다음)로 다른 방법을 사용하는 경우에도 마찬가지입니다. 다음 버튼과 이전 버튼을 계속 누르면 계속 새로운 주를로드하지 않습니다.
내가 뭘 잘못하고 있니?
초기로드 코드 :
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