public int findFirstViewWithTag(String testTag, int actualPosition) { int itemPosInMap = 0; for (int i = 0; i < pictureMap.size(); i++) { EndlessPagerModel item = pictureMap.get(i); Log.i( TAG, "findFirstViewWithTag (pos= " + String.valueOf(itemPosInMap) + "): " + item.getTag() + "\nTrue? - " + String.valueOf(item.getTag().equals(testTag))); if (item.getTag().equals(testTag)) { Log.i(TAG, "If-Case - Return of p: " + String.valueOf(itemPosInMap)); break; } itemPosInMap++; } // Because of FakeItems + 2 itemPosInMap += 1; int newPosition = itemPosInMap + ((actualPosition / getRealSizeOfData()) * pictureMap.size()); Log.i( TAG, "End of Method - Return of p: " + String.valueOf(itemPosInMap) + "\nSwitchToPos: " + String.valueOf(newPosition)); return newPosition; }
@TargetApi(Build.VERSION_CODES.LOLLIPOP) @Override public Object instantiateItem(ViewGroup container, int position) { // int virtualPosition = position % getRealSizeOfData(); // // EndlessPagerModel pagerModel = pictureMap.get(virtualPosition); EndlessPagerModel pagerModel; Log.i(TAG, "Position:" + String.valueOf(position)); if (position == 0) { pagerModel = pictureMap.get(pictureMap.size() - 1); // Log.i(TAG, "FIRST ITEM (FAKE LAST ITEM): " + // String.valueOf(pagerModel.getId())); Log.i(TAG, "FIRST ITEM (FAKE LAST ITEM)"); } else if (position == getCount() - 1) { pagerModel = pictureMap.get(0); // Log.i(TAG, "LAST ITEM (FAKE FIRST ITEM): " + // String.valueOf(pagerModel.getId())); Log.i(TAG, "LAST ITEM (FAKE FIRST ITEM)"); } else { pagerModel = pictureMap.get(position - 1); // Log.i(TAG, "NORMAL ITEM: " + String.valueOf(pagerModel.getId())); Log.i(TAG, "NORMAL ITEM"); } ImageView imageView = new ImageView(mContext); if (pagerModel == null) { Log.i(TAG, "Position: " + String.valueOf(position) + " - pageModel is null"); } imageView.setImageDrawable(mContext.getDrawable(pagerModel.getResID())); switch (pagerModel.getTag()) { case "NOTHING": imageView.setColorFilter(Color.GRAY); break; case "ANYTHING": imageView.setColorFilter(Color.RED); break; } imageView.setTag(pagerModel.getTag()); container.addView(imageView); return imageView; }