浏览代码

[공통][Common] 배너 인덱스값 수정중

Hasemi 6 年之前
父节点
当前提交
1eb2d17b34

+ 7 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/category/banner/MainBannerView.java

@@ -62,7 +62,6 @@ public class MainBannerView extends ConstraintLayout {
     };
     recyclerView.setLayoutManager(layoutManager);
     customIndicator.setIndicatorSetting(recyclerView, R.color.C4DFFFFFF, R.color.CFFFFFF, event -> {
-      Log.e("APP#  MainBannerView | init", "|" + event.getIndex());
       recyclerView.smoothScrollToPosition(event.getIndex());
     });
 
@@ -84,10 +83,17 @@ public class MainBannerView extends ConstraintLayout {
     recyclerView.setAdapter(mainBannerAdapter);
   }
 
+  public void doIndicatorInitialization() {
+    Log.e("APP#  MainBannerView | doIndicatorInitialization", "|" + "==== >");
+    customIndicator.onChangedIndex(0);
+
+  }
+
   public void dispose() {
     recyclerView.setLayoutManager(null);
     recyclerView.setAdapter(null);
     recyclerView = null;
     mainBannerAdapter = null;
+    customIndicator = null;
   }
 }

+ 2 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/CategoryMainViewHolder.java

@@ -37,4 +37,6 @@ public abstract class CategoryMainViewHolder<T extends CategoryContentsBean> ext
   public abstract void attach();
 
   public abstract void detach();
+
+
 }

+ 1 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/type1/FirstCategoryMainBannerViewHolder.java

@@ -46,6 +46,7 @@ public class FirstCategoryMainBannerViewHolder extends CategoryMainViewHolder<Ca
   @Override
   public void detach() {
     if (null != mainBannerViewFirstCategory) {
+      mainBannerViewFirstCategory.doIndicatorInitialization();
       mainBannerViewFirstCategory.dispose();
       mainBannerViewFirstCategory = null;
     }

+ 1 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/category/type2/SecondCategoryViewHolder.java

@@ -70,4 +70,5 @@ class SecondCategoryViewHolder extends CategoryMainViewHolder {
       itemView.setOnClickListener(null);
     }
   }
+
 }

+ 4 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/CustomIndicator.java

@@ -67,12 +67,12 @@ public class CustomIndicator extends View {
     mPaint.setStrokeCap(Paint.Cap.ROUND);
     mPaint.setStrokeWidth(mIndicatorStrokeWidth);
     mPaint.setStyle(Paint.Style.FILL);
-    invalidate();
+    this.invalidate();
   }
 
   public void onChangedIndex(int firstVisibleItemPosition) {
     this.activePosition = firstVisibleItemPosition;
-    invalidate();
+    this.invalidate();
   }
 
   @Override
@@ -80,6 +80,7 @@ public class CustomIndicator extends View {
     if (null == recyclerView || null == recyclerView.getAdapter()) {
       return;
     }
+    Log.e("APP#  CustomIndicator | onDraw", "|");
 
     itemCount = recyclerView.getAdapter().getItemCount();
     totalLength = mIndicatorItemLength * itemCount;
@@ -88,7 +89,6 @@ public class CustomIndicator extends View {
     indicatorStartX = (recyclerView.getWidth() - indicatorTotalWidth) / 2F; //중앙
     float indicatorPosY = getHeight() - mIndicatorHeight / 2F;
 
-
     drawInactiveIndicators(canvas, indicatorStartX, indicatorPosY, itemCount);
     if (activePosition == RecyclerView.NO_POSITION) {
       return;
@@ -133,6 +133,7 @@ public class CustomIndicator extends View {
     }
     else if ((event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_UP) {
       float itemWidth = mIndicatorItemLength + mIndicatorItemPadding;
+      Log.e("APP#  CustomIndicator | onTouchEvent", "|" + itemWidth + " , " + indicatorStartX); //48, 516 (index 1) // 48 , 0
       int index = (int) Math.floor((event.getX() - indicatorStartX) / itemWidth); //인디케이터 안에서 찍힌 x 좌표
       Log.e("APP#  CustomIndicator | onTouchEvent", "index |" + index);
       if (index >= 0 && index < itemCount) {