Browse Source

[이벤트][New] 응모형 View 이벤트 구현 중 - 다중 선택형

hyodong.min 6 years ago
parent
commit
16bd8a5963

+ 19 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/custom/EventMultiCheckBox.java

@@ -4,6 +4,7 @@
 package kr.co.zumo.app.lifeplus.view.custom;
 
 import android.content.Context;
+import android.support.annotation.Nullable;
 import android.support.constraint.ConstraintLayout;
 import android.util.AttributeSet;
 import android.view.LayoutInflater;
@@ -23,10 +24,11 @@ import kr.co.zumo.app.R;
  * @history 하세미   [2019-01-16]   [최초 작성]
  * @since 2019-01-16
  */
-public class EventMultiCheckBox extends ConstraintLayout implements Checkable {
+public class EventMultiCheckBox extends ConstraintLayout implements Checkable, View.OnClickListener {
 
   private LayoutInflater inflater;
   private CheckBox checkBox;
+  private OnClickListener listener;
 
 
   public EventMultiCheckBox(Context context) {
@@ -44,6 +46,7 @@ public class EventMultiCheckBox extends ConstraintLayout implements Checkable {
       inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
       View view = inflater.inflate(R.layout.event_participation_checkbox, this);
       checkBox = view.findViewById(R.id.check_box);
+      checkBox.setClickable(false);
       //checkBox.setButtonDrawable(getStateListDrawable());
     }
   }
@@ -55,6 +58,13 @@ public class EventMultiCheckBox extends ConstraintLayout implements Checkable {
 //    return stateListDrawable;
 //  }
 
+
+  @Override
+  public void setOnClickListener(@Nullable OnClickListener l) {
+    this.listener = l;
+    super.setOnClickListener(this);
+  }
+
   public void setText(String text) {
     checkBox.setText(text);
   }
@@ -72,4 +82,12 @@ public class EventMultiCheckBox extends ConstraintLayout implements Checkable {
   public void toggle() {
     // nothing
   }
+
+  @Override
+  public void onClick(View v) {
+    setChecked(!isChecked());
+    if (null != listener) {
+      listener.onClick(v);
+    }
+  }
 }

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

@@ -137,7 +137,7 @@ public abstract class CategoryMainPresenter<M extends CategoryMainModel, V exten
          */
         model.setSelectedRecommendedIndex(event.getIndex());
         String itemNumber = model.getSelectedRecommendBean().getItemNo();
-        Log.i("APP# CategoryMainPresenter | onEventInternal", "|" + "recommened item number: " + itemNumber);
+        Log.i("APP# CategoryMainPresenter | onEventInternal", "|" + "recommended item number: " + itemNumber);
         model.loadDetail(itemNumber);
 
         break;

+ 2 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionAnswerView.java

@@ -24,8 +24,8 @@ public class EventQuestionAnswerView extends EventQuestionView {
   private TextView textViewValidation;
   private TextView textViewQuestion;
 
-  public EventQuestionAnswerView(View itemView, EventQuestionBean bean) {
-    super(itemView, bean);
+  public EventQuestionAnswerView(View itemView) {
+    super(itemView);
     editTextAnswer = itemView.findViewById(R.id.edit_text_email);
     textViewQuestion = itemView.findViewById(R.id.text_view_question);
     textViewValidation = itemView.findViewById(R.id.text_recommend_validation);

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

@@ -156,26 +156,25 @@ public class EventQuestionFragment extends FragmentBase<EventQuestionPresenter>
       EventQuestionBean eventQuestionBean = detailBean.getEventQuestionList().get(i);
       if (EventQuestionBean.QUESTION_TYPE_SINGLE.equals(eventQuestionBean.getQuestionType())) {
         questionItemView = inflater.inflate(R.layout.event_participation_item_single_choice, null);
-        EventQuestionSingleView eventQuestionSingleView = new EventQuestionSingleView(questionItemView, eventQuestionBean);
+        EventQuestionSingleView eventQuestionSingleView = new EventQuestionSingleView(questionItemView);
         eventQuestionSingleView.draw(i, event -> presenter.onEvent(event), eventQuestionBean);
         layoutContainer.addView(questionItemView);
       }
       else if (EventQuestionBean.QUESTION_TYPE_MULTI.equals(eventQuestionBean.getQuestionType())) {
         questionItemView = inflater.inflate(R.layout.event_participation_item_multiple_choice, null);
-        EventQuestionMultiView eventQuestionMultiView = new EventQuestionMultiView(questionItemView, eventQuestionBean);
+        EventQuestionMultiView eventQuestionMultiView = new EventQuestionMultiView(questionItemView);
         eventQuestionMultiView.draw(i, event -> presenter.onEvent(event), eventQuestionBean);
         layoutContainer.addView(questionItemView);
-
       }
       else if (EventQuestionBean.QUESTION_TYPE_ANSWER.equals(eventQuestionBean.getQuestionType())) {
         questionItemView = inflater.inflate(R.layout.event_participation_item_answer, null);
-        EventQuestionAnswerView eventQuestionAnswerView = new EventQuestionAnswerView(questionItemView, eventQuestionBean);
+        EventQuestionAnswerView eventQuestionAnswerView = new EventQuestionAnswerView(questionItemView);
         eventQuestionAnswerView.draw(i, event -> presenter.onEvent(event), eventQuestionBean);
         layoutContainer.addView(questionItemView);
       }
       else if (EventQuestionBean.QUESTION_TYPE_IMAGE.equals(eventQuestionBean.getQuestionType())) {
         questionItemView = inflater.inflate(R.layout.event_participation_item_image, null);
-        eventQuestionImageView = new EventQuestionImageView(questionItemView, eventQuestionBean);
+        eventQuestionImageView = new EventQuestionImageView(questionItemView);
         eventQuestionImageView.draw(i, event -> presenter.onEvent(event), eventQuestionBean);
         layoutContainer.addView(questionItemView);
       }

+ 2 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionImageView.java

@@ -33,14 +33,12 @@ public class EventQuestionImageView extends EventQuestionView {
   private IEventListener listener;
   private int count;
 
-  public EventQuestionImageView(View itemView, EventQuestionBean bean) {
-    super(itemView, bean);
+  public EventQuestionImageView(View itemView) {
+    super(itemView);
     layoutCamera = itemView.findViewById(R.id.layout_camera);
     container = itemView.findViewById(R.id.layout_container);
   }
 
-
-
   @Override
   public void draw(int index, IEventListener listener, EventQuestionBean bean) {
     super.draw(index, listener, bean);
@@ -84,7 +82,6 @@ public class EventQuestionImageView extends EventQuestionView {
 
   }
 
-
   private void setUploadButtonVisible() {
     if (count >= 10) {
       layoutCamera.setVisibility(View.GONE);

+ 2 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionMultiView.java

@@ -31,7 +31,7 @@ class EventQuestionMultiView extends EventQuestionView {
   private LinearLayout layoutChoiceView;
 
 
-  public EventQuestionMultiView(View itemView, EventQuestionBean bean) {
+  public EventQuestionMultiView(View itemView) {
     super(itemView);
     textViewTitle = itemView.findViewById(R.id.text_view_title);
     layoutChoiceView = itemView.findViewById(R.id.choice_view);
@@ -49,7 +49,7 @@ class EventQuestionMultiView extends EventQuestionView {
       final int idx = i;
       checkBox.setOnClickListener(v -> {
         boolean checked = checkBox.isChecked();
-        listener.onEvent(new Event.Builder(Event.CLICK).integer(index).integer(idx).bool(checked).build());
+        listener.onEvent(new Event.Builder(Event.CLICK).index(index).integer(idx).bool(checked).build());
       });
       layoutChoiceView.addView(checkBox);
     }

+ 2 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionSingleView.java

@@ -35,7 +35,7 @@ public class EventQuestionSingleView extends EventQuestionView {
   private TextView textViewQuestion;
   private LayoutInflater inflater;
 
-  public EventQuestionSingleView(View view, EventQuestionBean bean) {
+  public EventQuestionSingleView(View view) {
     super(view);
     textViewQuestion = view.findViewById(R.id.text_view_question);
     layoutContainer = view.findViewById(R.id.layout_container);
@@ -73,7 +73,7 @@ public class EventQuestionSingleView extends EventQuestionView {
       checkBox.setOnClickListener(v -> {
         boolean checked = checkBox.isChecked();
         selector.check(checkBox, checked);
-        listener.onEvent(new Event.Builder(Event.CLICK).integer(index).integer(idx).bool(checked).build());
+        listener.onEvent(new Event.Builder(Event.CLICK).index(index).integer(idx).bool(checked).build());
       });
       layoutContainer.addView(checkBoxView);
     }

+ 0 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/event/EventQuestionView.java

@@ -25,11 +25,6 @@ public class EventQuestionView extends RecyclerView.ViewHolder {
     super(itemView);
   }
 
-  public EventQuestionView(View itemView, EventQuestionBean bean) {
-    super(itemView);
-    this.bean = bean;
-  }
-
   public void draw(int index, IEventListener listener, EventQuestionBean bean) {
 
   }