浏览代码

[마이][Bug] 마이코인 필터 스크롤 버그 수정

Hasemi 7 年之前
父节点
当前提交
507177b9ae

+ 5 - 8
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/coin/MyCoinDetailAdapter.java

@@ -3,7 +3,6 @@ package kr.co.zumo.app.lifeplus.view.screen.my.coin;
 import android.content.Context;
 import android.support.annotation.NonNull;
 import android.support.v7.widget.RecyclerView;
-import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -90,10 +89,10 @@ public class MyCoinDetailAdapter extends RecyclerView.Adapter<MyCoinDetailViewHo
     }
     else {
       for (Object payload : payloads) {
-        if (payload instanceof String) {
-          String type = (String) payload;
-          if (TextUtils.equals(type, "click") && holder instanceof MyCoinDetailViewHolder) {
-            ((MyCoinDetailFilterViewHolder) holder).setFilterContents();
+        if (payload instanceof Boolean) {
+          boolean clickFlag = (boolean) payload;
+          if ( holder instanceof MyCoinDetailFilterViewHolder) {
+            holder.setFilterContents(clickFlag);
           }
         }
       }
@@ -116,8 +115,6 @@ public class MyCoinDetailAdapter extends RecyclerView.Adapter<MyCoinDetailViewHo
   }
 
   public void updateFilterContents(boolean clickFlag) {
-    if (clickFlag) {
-      notifyItemChanged(0, "click");
-    }
+      notifyItemChanged(0, clickFlag);
   }
 }

+ 7 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/coin/MyCoinDetailFilterViewHolder.java

@@ -1,7 +1,9 @@
 package kr.co.zumo.app.lifeplus.view.screen.my.coin;
 
+import android.util.Log;
 import android.view.View;
 import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.view.IEventListener;
@@ -19,11 +21,12 @@ import kr.co.zumo.app.lifeplus.view.IEventListener;
 public class MyCoinDetailFilterViewHolder extends MyCoinDetailViewHolder {
 
   private LinearLayout layoutFilterContents;
+  private RelativeLayout filterDivider;
 
   public MyCoinDetailFilterViewHolder(View itemView) {
     super(itemView);
     layoutFilterContents = itemView.findViewById(R.id.layout_filter_contents);
-
+    filterDivider = itemView.findViewById(R.id.filter_divider);
   }
 
   @Override
@@ -32,7 +35,8 @@ public class MyCoinDetailFilterViewHolder extends MyCoinDetailViewHolder {
 
   }
 
-  public void setFilterContents() {
-    layoutFilterContents.setVisibility(layoutFilterContents.getVisibility() == View.GONE ? View.VISIBLE : View.GONE);
+  public void setFilterContents(boolean clickFlag) {
+    filterDivider.setVisibility(clickFlag ? View.VISIBLE : View.GONE);
+    layoutFilterContents.setVisibility(clickFlag ? View.VISIBLE : View.GONE);
   }
 }

+ 3 - 8
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/coin/MyCoinDetailFragment.java

@@ -48,7 +48,7 @@ public class MyCoinDetailFragment extends FragmentBase<MyCoinDetailPresenter> im
   private ImageView imageViewFilter;
   private IEventListener listener;
   private MyCoinDetailAdapter adapter;
-  private boolean clickFlag;
+  private boolean clickFlag = false;
 
 
   @Nullable
@@ -137,13 +137,8 @@ public class MyCoinDetailFragment extends FragmentBase<MyCoinDetailPresenter> im
 
   @Override
   public void doClickFilter() {
-    filterDivider.setVisibility(filterDivider.getVisibility() == View.GONE ? View.VISIBLE : View.GONE);
-    viewDivider.setVisibility(viewDivider.getVisibility() == View.GONE ? View.VISIBLE : View.GONE);
-    if(filterDivider.getVisibility() == View.VISIBLE){
-      clickFlag = true;
-    }else{
-      clickFlag = false;
-    }
+    clickFlag = !clickFlag;
+    viewDivider.setVisibility(clickFlag? View.GONE : View.VISIBLE);
     adapter.updateFilterContents(clickFlag);
   }
 }

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/coin/MyCoinDetailViewHolder.java

@@ -26,5 +26,5 @@ public class MyCoinDetailViewHolder extends RecyclerView.ViewHolder {
   }
   public void bind(IEventListener listener){ }
   public void bind(MyCoinBean bean, IEventListener listener) { }
-  public void setFilterContents(){ }
+  public void setFilterContents(boolean clickFlag){ }
 }

+ 2 - 41
app/src/main/res/layout/fragment_my_coin_detail.xml

@@ -184,49 +184,10 @@
     android:layout_marginEnd="25dp"
     android:background="@color/C000000"
     android:visibility="visible"
-    tools:visibility="gone"
+    tools:visibility="visible"
     />
 
-  <!--필터 클릭시 divider-->
-  <RelativeLayout
-  android:id="@+id/filter_divider"
-  android:layout_width="match_parent"
-  android:layout_height="wrap_content"
-  android:layout_gravity="center"
-  android:orientation="horizontal"
-  android:visibility="gone"
-  tools:visibility="visible"
-  >
-  <View
-    android:id="@+id/filter_divider1"
-    android:layout_width="31dp"
-    android:layout_height="1dp"
-    android:layout_alignParentEnd="true"
-    android:layout_centerVertical="true"
-    android:background="@color/C000000"/>
-
-  <ImageView
-    android:id="@+id/image_view_arrow_my_colin_detail"
-    android:layout_width="7dp"
-    android:layout_height="7dp"
-    android:layout_marginStart="-1.5dp"
-    android:layout_marginEnd="-1.5dp"
-    android:layout_marginRight="-1dp"
-    android:layout_toLeftOf="@+id/filter_divider1"
-      android:rotation="90"
-      app:srcCompat="@drawable/icon_header_back"/>
-
-    <View
-      android:layout_width="match_parent"
-      android:layout_height="1dp"
-      android:layout_alignParentStart="true"
-      android:layout_centerVertical="true"
-      android:layout_marginStart="0dp"
-      android:layout_marginEnd="0dp"
-      android:layout_toStartOf="@+id/image_view_arrow_my_colin_detail"
-      android:layout_toEndOf="@id/image_view_arrow_my_colin_detail"
-      android:background="@color/C000000"/>
-  </RelativeLayout>
+
 
   <android.support.v7.widget.RecyclerView
     android:id="@+id/recycler_view_coin_list"

+ 43 - 1
app/src/main/res/layout/my_coin_filter_view.xml

@@ -6,10 +6,52 @@
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   >
-
+  <!--필터 클릭시 divider-->
+  <RelativeLayout
+    android:id="@+id/filter_divider"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_gravity="center"
+    android:orientation="horizontal"
+    app:layout_constraintTop_toTopOf="parent"
+    android:visibility="gone"
+    tools:visibility="visible"
+    >
+    <View
+      android:id="@+id/filter_divider1"
+      android:layout_width="31dp"
+      android:layout_height="1dp"
+      android:layout_alignParentEnd="true"
+      android:layout_centerVertical="true"
+      android:background="@color/C000000"/>
+
+    <ImageView
+      android:id="@+id/image_view_arrow_my_colin_detail"
+      android:layout_width="7dp"
+      android:layout_height="7dp"
+      android:layout_marginStart="-1.5dp"
+      android:layout_marginEnd="-1.5dp"
+      android:layout_marginRight="-1dp"
+      android:layout_toLeftOf="@+id/filter_divider1"
+      android:rotation="90"
+      app:srcCompat="@drawable/icon_header_back"/>
+
+    <View
+      android:layout_width="match_parent"
+      android:layout_height="1dp"
+      android:layout_alignParentStart="true"
+      android:layout_centerVertical="true"
+      android:layout_marginStart="0dp"
+      android:layout_marginEnd="0dp"
+      android:layout_toStartOf="@+id/image_view_arrow_my_colin_detail"
+      android:layout_toEndOf="@id/image_view_arrow_my_colin_detail"
+      android:background="@color/C000000"/>
+  </RelativeLayout>
   <LinearLayout
+    app:layout_constraintTop_toBottomOf="@+id/filter_divider"
     android:id="@+id/layout_filter_contents"
     tools:visibility="visible"
+    android:visibility="gone"
     android:layout_width="match_parent"
     android:layout_height="160dp"
     android:background="@color/CF8F8F8"