Bläddra i källkod

[메인][New] 카테고리 메인 - 시리즈 커스텀 뷰

hyodong.min 7 år sedan
förälder
incheckning
093f298aeb

+ 13 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/main/series/MainSeriesPresenter.java

@@ -12,8 +12,20 @@ package kr.co.zumo.app.lifeplus.view.custom.main.series;
  */
 public class MainSeriesPresenter implements IMainSeriesContract.Presenter {
 
+  IMainSeriesContract.View view;
+  IMainSeriesContract.Listener listener;
+
+  public MainSeriesPresenter(IMainSeriesContract.View view, IMainSeriesContract.Listener listener) {
+    this.view = view;
+    this.view.setPresenter(this);
+
+    this.listener = listener;
+  }
+
   @Override
   public void onClickItem(int position) {
-
+    if (null != this.listener) {
+      this.listener.onClickItem(position);
+    }
   }
 }

+ 8 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/main/series/MainSeriesView.java

@@ -26,6 +26,7 @@ import kr.co.zumo.app.lifeplus.view.fragment.main.category.series.CustomImageTex
 public class MainSeriesView extends ConstraintLayout implements  IMainSeriesContract.View{
 
   private IMainSeriesContract.Presenter presenter;
+  CustomImageTextAdapter customImageTextAdapter;
 
   public void setPresenter(IMainSeriesContract.Presenter presenter){
     this.presenter = presenter;
@@ -55,8 +56,14 @@ public class MainSeriesView extends ConstraintLayout implements  IMainSeriesCont
     inflater.inflate(R.layout.main_series_view, this);
     RecyclerView recyclerView = (RecyclerView)findViewById(R.id.main_category_recycler_view);
     recyclerView.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false));
-    recyclerView.setAdapter(new CustomImageTextAdapter(context, inflater, textImageBeanList, itemCount));
 
+    customImageTextAdapter = new CustomImageTextAdapter(context, inflater, textImageBeanList, itemCount, new IMainSeriesContract.Listener() {
+      @Override
+      public void onClickItem(int position) {
+        presenter.onClickItem(position);
+      }
+    });
+    recyclerView.setAdapter(customImageTextAdapter);
   }
 
 }

+ 23 - 12
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/main/category/FirstCategoryMainFragment.java

@@ -3,6 +3,7 @@ package kr.co.zumo.app.lifeplus.view.fragment.main.category;
 import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -14,6 +15,8 @@ import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.bean.TextImageBean;
 import kr.co.zumo.app.lifeplus.manager.ActionBarManager;
 import kr.co.zumo.app.lifeplus.model.BlankModel;
+import kr.co.zumo.app.lifeplus.view.custom.main.series.IMainSeriesContract;
+import kr.co.zumo.app.lifeplus.view.custom.main.series.MainSeriesPresenter;
 import kr.co.zumo.app.lifeplus.view.custom.main.series.MainSeriesView;
 import kr.co.zumo.app.lifeplus.view.fragment.FragmentBase;
 import kr.co.zumo.app.lifeplus.view.presenter.FirstCategoryMainPresenter;
@@ -42,8 +45,16 @@ public class FirstCategoryMainFragment extends FragmentBase<FirstCategoryMainPre
   @Override
   protected void onAfterActivityCreated(Bundle savedInstanceState) {
     mainSeriesView = findViewById(R.id.series_image_text_view);
+
     doDataSetting();
-    mainSeriesView.init(getActivity(),textImageBeanList, 10);
+
+    mainSeriesView.init(getActivity(), textImageBeanList, 10);
+    MainSeriesPresenter presenter = new MainSeriesPresenter(mainSeriesView, new IMainSeriesContract.Listener() {
+      @Override
+      public void onClickItem(int position) {
+        Log.i("APP# FirstCategoryMainFragment | onClickItem", "|" + "position: " + position);
+      }
+    });
   }
 
   @Override
@@ -60,18 +71,18 @@ public class FirstCategoryMainFragment extends FragmentBase<FirstCategoryMainPre
     return new FirstCategoryMainPresenter(getModel(BlankModel.class), this);
   }
 
-  public void doDataSetting(){
+  public void doDataSetting() {
     textImageBeanList = new ArrayList<>();
-    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_1, R.string.my_coin ));
-    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_2, R.string.my_coin ));
-    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_3, R.string.my_coin ));
-    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_4, R.string.my_coin ));
-    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_5, R.string.my_coin ));
-    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_6, R.string.my_coin ));
-    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_7, R.string.my_coin ));
-    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_8, R.string.my_coin ));
-    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_9, R.string.my_coin ));
-    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_10, R.string.my_coin ));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_1, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_2, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_3, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_4, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_5, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_6, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_7, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_8, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_9, R.string.my_coin));
+    textImageBeanList.add(new TextImageBean(R.drawable.img_select_bg_10, R.string.my_coin));
 
   }
 }

+ 13 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/main/category/series/CustomImageTextAdapter.java

@@ -29,20 +29,30 @@ public class CustomImageTextAdapter extends RecyclerView.Adapter<CustomImageText
   private Context context;
   private LayoutInflater layoutInflater;
   private List<TextImageBean> textImageBeanList;
-  private IMainSeriesContract.Listener listener;
+  private IMainSeriesContract.Listener holderListener = new IMainSeriesContract.Listener() {
+    @Override
+    public void onClickItem(int position) {
+      if(null != eventListener) {
+        eventListener.onClickItem(position);
+      }
+    }
+  };
+  private IMainSeriesContract.Listener eventListener;
 
-  public CustomImageTextAdapter(Context context, LayoutInflater layoutInflater ,List<TextImageBean> textImageBeanList ,int itemCount) {
+  public CustomImageTextAdapter(Context context, LayoutInflater layoutInflater, List<TextImageBean> textImageBeanList, int itemCount, IMainSeriesContract.Listener eventListener) {
     this.context = context;
     this.layoutInflater = layoutInflater;
     this.itemCount = itemCount;
     this.textImageBeanList = textImageBeanList;
+
+    this.eventListener = eventListener;
   }
 
   @NonNull
   @Override
   public CustomImageTextViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
     View view = layoutInflater.inflate(R.layout.image_and_text_contents, parent, false);
-    return new CustomImageTextViewHolder(view, listener);
+    return new CustomImageTextViewHolder(view, holderListener);
   }
 
   @Override

+ 6 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/main/category/series/CustomImageTextViewHolder.java

@@ -23,22 +23,25 @@ public class CustomImageTextViewHolder extends RecyclerView.ViewHolder {
 
   private ImageView imageViewMainCategory;
   private TextView textViewMainCategory;
+  private IMainSeriesContract.Listener listener;
 
   public CustomImageTextViewHolder(View itemView, IMainSeriesContract.Listener listener) {
     super(itemView);
     imageViewMainCategory = itemView.findViewById(R.id.image_view_main_contents);
     textViewMainCategory = itemView.findViewById(R.id.text_view_main_contents);
 
-
+    this.listener = listener;
   }
 
-  public void doDataSetting(TextImageBean bean){
+  public void doDataSetting(TextImageBean bean) {
     imageViewMainCategory.setImageDrawable(itemView.getResources().getDrawable(bean.getImageResource()));
     textViewMainCategory.setText(bean.getTextResource());
     imageViewMainCategory.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View view) {
-
+        if (null != listener) {
+          listener.onClickItem(getAdapterPosition());
+        }
       }
     });
 

+ 1 - 9
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/my/bucketlist/AddMyBucketListViewHolder.java

@@ -31,15 +31,7 @@ public class AddMyBucketListViewHolder extends RecyclerView.ViewHolder {
 
   public void doDataSetting(TextImageBean bean) {
     imageViewSelectImage.setImageResource(bean.getImageResource());
-    imageViewSelectImage.setOnClickListener(new View.OnClickListener() {
-      @Override
-      public void onClick(View view) {
-        onClickImage(bean);
-      }
-
-
-    });
-
+    imageViewSelectImage.setOnClickListener(view -> onClickImage(bean));
   }
 
   private void onClickImage(TextImageBean bean) {