瀏覽代碼

[북마크][Bug] 북마크 리스트에서 링크 시 세부 페이지로 이동하지 않던 버그 수정

hyodong.min 7 年之前
父節點
當前提交
3b88479b3a

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

@@ -11,6 +11,7 @@ import java.util.List;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.api.BookmarkBean;
+import kr.co.zumo.app.lifeplus.bean.api.ListItemNumberBean;
 import kr.co.zumo.app.lifeplus.supervisor.ContentsFlagHelper;
 import kr.co.zumo.app.lifeplus.view.IEventListener;
 
@@ -59,7 +60,8 @@ public class BookMarkListAdapter extends RecyclerView.Adapter<BookMarkListView>
         int idx = event.getIndex();
         // view 의 index 와 model 의 그것이 달라서 itemNumber 로 확인
         BookmarkBean bookmarkBean = bookmarkBeans.get(idx);
-        event = event.clone().index(-1).string(bookmarkBean.getItemNo()).build();
+        ListItemNumberBean listItemNumberBean = new ListItemNumberBean(bookmarkBean.getItemNo(), bookmarkBean.getListItemNo());
+        event = event.clone().index(-1).json(listItemNumberBean.toJson()).build();
         listener.onEvent(event);
       }
     });

+ 3 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/bookmark/BookMarkListModel.java

@@ -238,14 +238,14 @@ public class BookMarkListModel extends Model {
    * itemNumber 로 index 를 가져온다.
    * - 북마크를 카테고리 별로 정렬하면서 아이템의 index 가 변경되기 때문에.
    *
-   * @param itemNumber
+   * @param itemNo
    * @return
    */
-  public int getItemIndexByItemNumber(@NonNull String itemNumber) {
+  public int getItemIndex(@NonNull String itemNo, @NonNull String listItemNo) {
     int len = bookmarkBeans.size();
     for (int i = 0; i < len; ++i) {
       BookmarkBean bean = bookmarkBeans.get(i);
-      if (itemNumber.equalsIgnoreCase(bean.getItemNo())) {
+      if (itemNo.equalsIgnoreCase(bean.getItemNo()) && listItemNo.equals(bean.getListItemNo())) {
         return i;
       }
     }

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

@@ -4,6 +4,7 @@ import android.util.Log;
 
 import kr.co.zumo.app.lifeplus.bean.ContentsDeliveryBean;
 import kr.co.zumo.app.lifeplus.bean.api.BookmarkBean;
+import kr.co.zumo.app.lifeplus.bean.api.ListItemNumberBean;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 import kr.co.zumo.app.lifeplus.view.DoubleChecker;
 import kr.co.zumo.app.lifeplus.view.Event;
@@ -86,9 +87,11 @@ public class BookMarkListPresenter extends Presenter<BookMarkListModel, IBookMar
   @Override
   protected void onEventInternal(Event event) {
     int index;
+    ListItemNumberBean listItemNumberBean;
     switch (event.getEventId()) {
       case Event.CONTENTS:
-        index = model.getItemIndexByItemNumber(event.getString());
+        listItemNumberBean = event.fromJson(ListItemNumberBean.class);
+        index = model.getItemIndex(listItemNumberBean.getItemNo(), listItemNumberBean.getListItemNo());
         Log.i("APP# BookMarkListPresenter | onEventInternal", "|===================> " + event);
         BookmarkBean bean = model.getBookmarkList().get(index);
         Log.w("APP# BookMarkListPresenter | onEventInternal", "|" + bean.toPrettyJson());
@@ -99,11 +102,13 @@ public class BookMarkListPresenter extends Presenter<BookMarkListModel, IBookMar
         go(ScreenID.CONTENTS);
         break;
       case Event.BOOKMARK:
-        index = model.getItemIndexByItemNumber(event.getString());
+        listItemNumberBean = event.fromJson(ListItemNumberBean.class);
+        index = model.getItemIndex(listItemNumberBean.getItemNo(), listItemNumberBean.getListItemNo());
         model.updateBookmarked(index);
         break;
       case Event.LIKE:
-        index = model.getItemIndexByItemNumber(event.getString());
+        listItemNumberBean = event.fromJson(ListItemNumberBean.class);
+        index = model.getItemIndex(listItemNumberBean.getItemNo(), listItemNumberBean.getListItemNo());
         model.updateLiked(index);
         break;
       case Event.SORT: