현재 뷰는 가로형 recyclerview를 만들어서
왼쪽 오른쪽 스크롤을 할때마다 1주일씩 넘어가게 만들고 있습니다.
왼쪽으로 스크롤할 때는 position을 -1씩 하게 되니 일주일 전의 내용을 보여줍니다.
그런데 왼쪽으로 스크롤 할 때 position -1 한번하고
position -2 도 한번해서
이주일전의 내용을 보여줍니다.
아주 느리게 왼쪽으로 스크롤 하면 일주일전의 내용을 보여주고요 ㅠㅠ
원래 무한 리사이클러뷰를 만들고 싶었는데 그렇게 못해서 지금 MAX_ITEM_COUNT를 10,000개로 하였습니다...
int datePosition = position - (MAX_ITEM_COUNT / 2);
이부분이 문제인 것 같은데 왜 계속 2주일 전의 내용을 보여주는지 모르겠습니다 ㅜㅜ
오른쪽 스크롤은 문제없이 일주일씩 넘어갑니다...
@Override
public void onBindViewHolder(final ViewHolder holder, int position) { //재활용되는 View 가 호출, Adapter 가 해당 position 에 해당하는 데이터를 결합, 페이지 넘길때마다 reload
dataSourceArray = new SchedulerNavigationBarModel[dayStringArray.length]; //count, day, date
int datePosition = position - (MAX_ITEM_COUNT / 2);
Log.e(TAG, "datePosition : " + datePosition + " position : " + position);
dateList = new ArrayList<>();
String endDate = "";
calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
calendar.add(Calendar.DATE, datePosition * 7);
String startDate = ScheduleSimpleDateFormat.getInstance().formatTimeInyyyy_MM_dd(calendar.getTime());
dateList.add(calendar.getTime()); //dateList에 지금 시간을 넣음
for (int i = 0; i < dayStringArray.length - 1; i++) { //6번 돌면서
calendar.add(Calendar.DATE, 1); //하루씩 늘어남
dateList.add(calendar.getTime()); //dateList에 넣음
if (i == dayStringArray.length - 2) { //endDate는 지금부터 add 6일한날 (일요일)
endDate = ScheduleSimpleDateFormat.getInstance().formatTimeInyyyy_MM_dd(calendar.getTime());
}
}
}