浏览代码

[마이][Bug] 메인 버킷 리스트 0개 되어 되돌아올 경우 갱신되지 않던 오류 수정

hyodong.min 7 年之前
父节点
当前提交
69cde5810e

+ 4 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bucketlist/MyBucketListAdapter.java

@@ -53,4 +53,8 @@ public class MyBucketListAdapter extends RecyclerView.Adapter<MyBucketListViewHo
     return myBucketListBeanList.size();
   }
 
+  public void update(List<BucketWithTagBean> previewBucketList) {
+    myBucketListBeanList = previewBucketList;
+    notifyDataSetChanged();
+  }
 }

+ 27 - 15
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/main/MyMainFragment.java

@@ -19,6 +19,7 @@ import android.widget.TextView;
 import com.bumptech.glide.Glide;
 
 import java.util.ArrayList;
+import java.util.List;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.api.BookmarkBean;
@@ -74,6 +75,7 @@ public abstract class MyMainFragment extends FragmentBase<MyMainPresenter> imple
   protected CheckBox likeCheck2;
   protected CheckBox bookmarkCheck1;
   protected CheckBox bookmarkCheck2;
+  protected MyBucketListAdapter bucketListAdapter;
 
 
   @Override
@@ -296,6 +298,30 @@ public abstract class MyMainFragment extends FragmentBase<MyMainPresenter> imple
 
   @Override
   public void drawMyBucketList(ArrayList<BucketWithTagBean> myBucketBeans) {
+
+    if(null == bucketListAdapter) {
+      bucketListAdapter = new MyBucketListAdapter(getActivity(), getPreviewBucketList(myBucketBeans), new IEventListener() {
+        @Override
+        public void onEvent(Event event) {
+          switch (event.getEventId()) {
+            case Event.MY_BUCKET:
+              presenter.onEvent(new Event.Builder(Event.DETAIL).index(event.getIndex()).build());
+              break;
+            default:
+              break;
+          }
+        }
+      });
+
+      recyclerViewBucketListPreview.setLayoutManager(new GridLayoutManager(getActivity(), 2));
+      recyclerViewBucketListPreview.setAdapter(bucketListAdapter);
+    }
+    else {
+      bucketListAdapter.update(getPreviewBucketList(myBucketBeans));
+    }
+  }
+
+  protected List<BucketWithTagBean> getPreviewBucketList(List<BucketWithTagBean> myBucketBeans) {
     ArrayList<BucketWithTagBean> previewBucketList = new ArrayList<>();
     int count = 0;
     for (int i = 0; i < myBucketBeans.size(); ++i) {
@@ -306,21 +332,7 @@ public abstract class MyMainFragment extends FragmentBase<MyMainPresenter> imple
         count++;
       }
     }
-    MyBucketListAdapter adapter = new MyBucketListAdapter(getActivity(), previewBucketList, new IEventListener() {
-      @Override
-      public void onEvent(Event event) {
-        switch (event.getEventId()) {
-          case Event.MY_BUCKET:
-            presenter.onEvent(new Event.Builder(Event.DETAIL).index(event.getIndex()).build());
-            break;
-          default:
-            break;
-        }
-      }
-    });
-
-    recyclerViewBucketListPreview.setLayoutManager(new GridLayoutManager(getActivity(), 2));
-    recyclerViewBucketListPreview.setAdapter(adapter);
+    return previewBucketList;
   }
 
   /**

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

@@ -385,7 +385,7 @@ public class MyMainPresenter extends Presenter<MyMainModel, IMyMainView> {
   private void drawBucketLabel() {
 
     int count = 0;
-    if (null != model.getMyBucketList() && model.getMyBucketListSize() > 0) {
+    if (null != model.getMyBucketList()) {
       count = model.getMyBucketListSize();
       view.drawMyBucketList(model.getMyBucketList());
     }

+ 4 - 2
app/src/main/res/layout/fragment_bucket_list_default_detail.xml

@@ -28,6 +28,7 @@
     />
 
   <ImageView
+    android:layout_marginStart="50dp"
     android:id="@+id/image_checker"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
@@ -47,16 +48,17 @@
     android:ellipsize="end"
     android:gravity="center"
     android:lineSpacingExtra="8sp"
-    android:maxWidth="200dp"
     android:maxLines="3"
     android:textColor="@color/CFFFFFF"
     android:textSize="21sp"
+    android:layout_marginEnd="50dp"
+    app:layout_constrainedWidth="true"
     app:layout_constraintBottom_toBottomOf="parent"
     app:layout_constraintEnd_toEndOf="parent"
     app:layout_constraintHorizontal_chainStyle="packed"
     app:layout_constraintStart_toEndOf="@+id/image_checker"
     app:layout_constraintTop_toTopOf="parent"
-    app:layout_goneMarginStart="0dp"
+    app:layout_goneMarginStart="50dp"
     tools:text="OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
     />
 </android.support.constraint.ConstraintLayout>