Przeglądaj źródła

][회원가입][Common] 회원가입 구현 중 추천혜택 리스트 뷰 연결

Hasemi 7 lat temu
rodzic
commit
8420ed7125

+ 15 - 7
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/signup/BenefitHolder.java

@@ -4,15 +4,16 @@
 package kr.co.zumo.app.lifeplus.view.fragment.signup;
 
 
-import android.util.Log;
 import android.view.View;
-import android.widget.TextView;
+
+import java.util.ArrayList;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.view.model.SignUpItem;
 import kr.co.zumo.app.lifeplus.view.model.SignUpViewModel;
 import kr.co.zumo.app.lifeplus.view.model.bean.SignUpBenefitBean;
+import kr.co.zumo.app.lifeplus.view.model.bean.SignUpBenefitListBean;
 
 /**
  * BenefitHolder - 회원 가입 화면 혜택을 표시하는 클래스
@@ -35,12 +36,19 @@ public class BenefitHolder extends BaseViewHolder {
   void draw(int index) {
     SignUpViewModel model = (SignUpViewModel) SuperModel.getInstance().getViewModel();
     SignUpItem item = model.getItem(index);
-    SignUpBenefitBean bean = item.getBean(SignUpBenefitBean.class);
-    String text = bean.getText();
-    int imgRes = bean.getImgRes();
+    SignUpBenefitListBean bean = item.getBean(SignUpBenefitListBean.class);
+    ArrayList<SignUpBenefitBean> list = bean.getSignUpBenefitBeans();
+
+    SignUpBenefitCustomView view = (SignUpBenefitCustomView) itemView.findViewById(R.id.custom_view1);
+    SignUpBenefitCustomView view2 = (SignUpBenefitCustomView) itemView.findViewById(R.id.custom_view2);
+    SignUpBenefitCustomView view3 = (SignUpBenefitCustomView) itemView.findViewById(R.id.custom_view3);
+
+
+    view.setSignUpBenefit(list.get(0).getImgRes(), list.get(0).getText(), list.get(0).getBenefitText(), list.get(0).getCategoryText());
+    view2.setSignUpBenefit(list.get(0).getImgRes(), list.get(0).getText(), list.get(0).getBenefitText(), list.get(0).getCategoryText());
+    view3.setSignUpBenefit(list.get(0).getImgRes(), list.get(0).getText(), list.get(0).getBenefitText(), list.get(0).getCategoryText());
+
 
-    Log.i("APP# TextViewHolder | draw", "| text: " + text);
 
-    ((TextView) itemView.findViewById(R.id.sign_up_text_view)).setText(text);
   }
 }

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/signup/SignUpAdapter.java

@@ -41,7 +41,7 @@ public class SignUpAdapter extends RecyclerView.Adapter<BaseViewHolder> {
         holder = new TextViewHolder(view);
         break;
       case SignUpItem.SIGN_UP_BENEFIT:
-        view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sign_up_text_view, parent, false);
+        view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sign_up_benefit_list, parent, false);
         holder = new BenefitHolder(view);
         break;
       case SignUpItem.SIGN_UP_BUTTON:

+ 28 - 21
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/signup/SignUpBenefitCustomView.java

@@ -1,9 +1,9 @@
 package kr.co.zumo.app.lifeplus.view.fragment.signup;
 
 import android.content.Context;
-import android.content.res.TypedArray;
 import android.support.annotation.Nullable;
 import android.util.AttributeSet;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.ImageView;
@@ -14,42 +14,49 @@ import kr.co.zumo.app.R;
 
 public class SignUpBenefitCustomView extends LinearLayout {
 
-  LinearLayout benefit_layout;
-  ImageView benefit_image;
-  TextView benefit_title;
-  TextView benefit_contents;
-  TextView benefit_category;
+  LinearLayout benefitLayout;
+  ImageView benefitImage;
+  TextView benefitTitle;
+  TextView benefitContents;
+  TextView benefitCategory;
 
 
   public SignUpBenefitCustomView(Context context) {
     super(context);
-    inflateViews();
+    inflateViews(context);
 
   }
 
   public SignUpBenefitCustomView(Context context, @Nullable AttributeSet attrs) {
     super(context, attrs);
-    inflateViews();
+    inflateViews(context);
   }
 
-  public SignUpBenefitCustomView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
-    super(context, attrs, defStyleAttr);
+
+  private void inflateViews(Context context) {
+    Log.e("APP#  SignUpBenefitCustomView | inflateViews", "|" + context.toString());
+    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+    View view = inflater.inflate(R.layout.sign_up_benefit_view, this);
+
+    benefitLayout = (LinearLayout) findViewById(R.id.benefit_layout);
+    benefitImage = (ImageView) findViewById(R.id.benefit_image);
+    benefitTitle = (TextView) findViewById(R.id.benefit_title);
+    benefitContents = (TextView) findViewById(R.id.benefit_contents);
+    benefitCategory = (TextView) findViewById(R.id.benefit_category);
   }
 
-  private void inflateViews(){
-    LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-    View view = inflater.inflate(R.layout.sign_up_benefit_view , this);
-    addView(view);
 
-    /*benefit_layout = (LinearLayout)findViewById(R.id.benefit_layout);
-    benefit_image = (ImageView)findViewById(R.id.benefit_image);
-    benefit_title = (TextView)findViewById(R.id.benefit_title);
-    benefit_contents = (TextView)findViewById(R.id.benefit_contents);
-    benefit_category = (TextView)findViewById(R.id.benefit_category);*/
+  private void getAttrs(AttributeSet attrs) {
+    //TypedArray typedArray = getContext().obtainStyledAttributes(attrs , R.styleable.BenefitView);
   }
 
-  private void getAttrs(AttributeSet attrs){
-    TypedArray typedArray = getContext().obtainStyledAttributes(attrs , R.styleable.BenefitView);
+
+  public void setSignUpBenefit(int imageResource, String title, String contents, String category) {
+
+    benefitImage.setImageResource(imageResource);
+    benefitTitle.setText(title);
+    benefitContents.setText(contents);
+    benefitCategory.setText(category);
 
   }
 }

+ 15 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/signup/SignUpFragment.java

@@ -13,6 +13,8 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
+import java.util.ArrayList;
+
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.application.App;
 import kr.co.zumo.app.lifeplus.supervisor.FragmentChanger;
@@ -23,6 +25,7 @@ import kr.co.zumo.app.lifeplus.view.model.SignUpItem;
 import kr.co.zumo.app.lifeplus.view.model.SignUpViewModel;
 import kr.co.zumo.app.lifeplus.view.model.ViewModel;
 import kr.co.zumo.app.lifeplus.view.model.bean.SignUpBenefitBean;
+import kr.co.zumo.app.lifeplus.view.model.bean.SignUpBenefitListBean;
 import kr.co.zumo.app.lifeplus.view.model.bean.TextBean;
 
 /**
@@ -69,7 +72,18 @@ public class SignUpFragment extends FragmentBase {
     ((SignUpViewModel) viewModel).addItem(new SignUpItem(SignUpItem.SIGN_UP_TEXT, SignUpItem.ALIGN_LEFT, new TextBean(App.getInstance().getString(R.string.sign_up_hello_text)).toJson()));
     ((SignUpViewModel) viewModel).addItem(new SignUpItem(SignUpItem.SIGN_UP_TEXT, SignUpItem.ALIGN_RIGHT, new TextBean("2 번째 텍스트").toJson()));
     ((SignUpViewModel) viewModel).addItem(new SignUpItem(SignUpItem.SIGN_UP_TEXT, SignUpItem.ALIGN_CENTER, new TextBean("3 번째 텍스트").toJson()));
-    ((SignUpViewModel) viewModel).addItem(new SignUpItem(SignUpItem.SIGN_UP_BENEFIT, SignUpItem.ALIGN_CENTER, new SignUpBenefitBean("3 번째 텍스트", R.drawable.circle).toJson()));
+
+    SignUpBenefitBean bean = new SignUpBenefitBean("3 번째 텍스트", R.drawable.circle, "benefit text1", "benefit text2");
+    SignUpBenefitBean bean2 = new SignUpBenefitBean("3 번째 텍스트", R.drawable.circle, "benefit text1", "benefit text2");
+    SignUpBenefitBean bean3 = new SignUpBenefitBean("3 번째 텍스트", R.drawable.circle, "benefit text1", "benefit text2");
+
+    ArrayList<SignUpBenefitBean> list = new ArrayList<>();
+
+    list.add(bean);
+    list.add(bean2);
+    list.add(bean3);
+
+    ((SignUpViewModel) viewModel).addItem(new SignUpItem(SignUpItem.SIGN_UP_BENEFIT, SignUpItem.ALIGN_CENTER, new SignUpBenefitListBean(list).toJson()));
     adapter.notifyDataSetChanged();
     return viewModel;
   }

+ 21 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/model/bean/SignUpBenefitBean.java

@@ -19,6 +19,8 @@ public class SignUpBenefitBean extends TextBean {
 
   @DrawableRes
   protected int imgRes;
+  protected String benefitText;
+  protected String categoryText;
 
   public int getImgRes() {
     return imgRes;
@@ -28,9 +30,26 @@ public class SignUpBenefitBean extends TextBean {
     this.imgRes = imgRes;
   }
 
-  public SignUpBenefitBean(String text, @DrawableRes int imgRes) {
+  public SignUpBenefitBean(String text, int imgRes, String benefitText, String categoryText) {
     super(text);
-
     this.imgRes = imgRes;
+    this.benefitText = benefitText;
+    this.categoryText = categoryText;
+  }
+
+  public String getBenefitText() {
+    return benefitText;
+  }
+
+  public void setBenefitText(String benefitText) {
+    this.benefitText = benefitText;
+  }
+
+  public String getCategoryText() {
+    return categoryText;
+  }
+
+  public void setCategoryText(String categoryText) {
+    this.categoryText = categoryText;
   }
 }

+ 16 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/model/bean/SignUpBenefitListBean.java

@@ -0,0 +1,16 @@
+package kr.co.zumo.app.lifeplus.view.model.bean;
+
+import java.util.ArrayList;
+
+public class SignUpBenefitListBean extends JsonBeanBase {
+
+  private ArrayList<SignUpBenefitBean> signUpBenefitBeans;
+
+  public SignUpBenefitListBean(ArrayList<SignUpBenefitBean> signUpBenefitBeans) {
+    this.signUpBenefitBeans = signUpBenefitBeans;
+  }
+
+  public ArrayList<SignUpBenefitBean> getSignUpBenefitBeans() {
+    return signUpBenefitBeans;
+  }
+}

+ 7 - 6
app/src/main/res/layout/sign_up_benefit_list.xml

@@ -2,9 +2,7 @@
 <LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
-  android:layout_height="match_parent"
-  android:layout_weight="3"
-  android:orientation="horizontal">
+  android:layout_height="wrap_content">
 
   <LinearLayout
     android:layout_width="match_parent"
@@ -13,21 +11,24 @@
     android:weightSum="3"
     >
     <kr.co.zumo.app.lifeplus.view.fragment.signup.SignUpBenefitCustomView
-      android:layout_width="wrap_content"
+      android:id="@+id/custom_view1"
+      android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       >
     </kr.co.zumo.app.lifeplus.view.fragment.signup.SignUpBenefitCustomView>
 
     <kr.co.zumo.app.lifeplus.view.fragment.signup.SignUpBenefitCustomView
-      android:layout_width="wrap_content"
+      android:id="@+id/custom_view2"
+      android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       >
     </kr.co.zumo.app.lifeplus.view.fragment.signup.SignUpBenefitCustomView>
 
     <kr.co.zumo.app.lifeplus.view.fragment.signup.SignUpBenefitCustomView
-      android:layout_width="wrap_content"
+      android:id="@+id/custom_view3"
+      android:layout_width="0dp"
       android:layout_height="wrap_content"
       android:layout_weight="1"
       >

+ 2 - 2
app/src/main/res/layout/sign_up_benefit_view.xml

@@ -4,11 +4,11 @@
   android:id="@+id/benefit_layout"
   android:layout_width="match_parent"
   android:orientation="vertical"
-  android:layout_height="match_parent">
+  android:layout_height="wrap_content">
       <ImageView
         android:id="@+id/benefit_image"
         android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
+        android:layout_height="100dp"
         android:layout_gravity="center"
         android:src="@mipmap/ic_launcher"/>