ソースを参照

企业注册行业选择

raomeng 8 年 前
コミット
a355402b18

+ 290 - 0
app_core/common/src/main/java/com/core/widget/view/adapter/SecondaryListAdapter.java

@@ -0,0 +1,290 @@
+package com.core.widget.view.adapter;
+
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.view.ViewGroup;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2017/9/21.
+ * recyclerview二级列表适配器基类
+ */
+
+public abstract class SecondaryListAdapter<GVH, SVH extends RecyclerView.ViewHolder> extends RecyclerView.Adapter {
+    private List<Boolean> mGroupItemStatus;
+    private List<SecondaryListBean> mSecondaryListBeen;
+
+    /**
+     * 创建分组布局ViewHolder
+     *
+     * @param parent
+     * @return
+     */
+    public abstract RecyclerView.ViewHolder onCreateGroupViewHolder(ViewGroup parent);
+
+    /**
+     * 创建子项布局ViewHolder
+     *
+     * @param parent
+     * @return
+     */
+    public abstract RecyclerView.ViewHolder onCreateSubViewHolder(ViewGroup parent);
+
+    /**
+     * 绑定分组布局ViewHolder
+     *
+     * @param holder
+     * @param groupItemIndex
+     */
+    public abstract void onBindGroupViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex);
+
+    /**
+     * 绑定子项布局ViewHolder
+     *
+     * @param holder
+     * @param groupItemIndex
+     * @param subItemIndex
+     */
+    public abstract void onBindSubViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex, int subItemIndex);
+
+    /**
+     * 一级列表点击事件
+     *
+     * @param isExpand
+     * @param holder
+     * @param groupItemIndex
+     */
+    public abstract void onGroupItemClick(boolean isExpand, GVH holder, int groupItemIndex);
+
+    /**
+     * 二级子项点击事件
+     *
+     * @param holder
+     * @param groupItemIndex
+     * @param subItemIndex
+     */
+    public abstract void onSubItemClick(SVH holder, int groupItemIndex, int subItemIndex);
+
+    /**
+     * 初始化数据源
+     *
+     * @param secondaryListBeen
+     */
+    public void initSecondaryList(List secondaryListBeen) {
+        mGroupItemStatus = new ArrayList<>();
+        mSecondaryListBeen = new ArrayList<>();
+
+        setSecondaryListBeen(secondaryListBeen);
+    }
+
+    public void setSecondaryListBeen(List secondaryListBeen) {
+        mSecondaryListBeen = secondaryListBeen;
+        initGroupItemStatus();
+        notifyDataSetChanged();
+    }
+
+    /**
+     * 初始化一级列表展开状态,默认全部收起
+     */
+    public void initGroupItemStatus() {
+        for (int i = 0; i < mSecondaryListBeen.size(); i++) {
+            mGroupItemStatus.add(false);
+        }
+    }
+
+    /**
+     * 设置某项一级列表的展开装状态
+     *
+     * @param groupIndex
+     * @param isExpand
+     */
+    public void setGroupItemStatu(int groupIndex, boolean isExpand) {
+        if (mGroupItemStatus != null && mGroupItemStatus.size() > groupIndex) {
+            mGroupItemStatus.set(groupIndex, isExpand);
+            notifyDataSetChanged();
+        }
+    }
+
+    @Override
+    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+        RecyclerView.ViewHolder viewHolder = null;
+        if (viewType == ItemStatus.TYPE_GROUPITEM) {
+            viewHolder = onCreateGroupViewHolder(parent);
+        } else if (viewType == ItemStatus.TYPE_SUBITEM) {
+            viewHolder = onCreateSubViewHolder(parent);
+        }
+
+        return viewHolder;
+    }
+
+    @Override
+    public void onBindViewHolder(final RecyclerView.ViewHolder holder, final int position) {
+        final ItemStatus itemStatus = getItemStatusByPosition(position);
+
+        if (itemStatus.getItemType() == ItemStatus.TYPE_GROUPITEM) {
+            onBindGroupViewHolder(holder, itemStatus.getGroupIndex());
+            holder.itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+                    int groupIndex = itemStatus.getGroupIndex();
+                    boolean groupStatus = mGroupItemStatus.get(groupIndex);
+
+                    onGroupItemClick(groupStatus, (GVH) holder, groupIndex);
+                    mGroupItemStatus.set(groupIndex, !groupStatus);
+
+                    //这里必须要用holder.getAdapterPosition()来确认点击的位置
+                    if (groupStatus) {
+                        notifyItemRangeRemoved(holder.getAdapterPosition() + 1, mSecondaryListBeen.get(groupIndex).getSubItems().size());
+                    } else {
+                        notifyItemRangeInserted(holder.getAdapterPosition() + 1, mSecondaryListBeen.get(groupIndex).getSubItems().size());
+                    }
+                }
+            });
+        } else if (itemStatus.getItemType() == ItemStatus.TYPE_SUBITEM) {
+            onBindSubViewHolder(holder, itemStatus.getGroupIndex(), itemStatus.getSubIndex());
+            holder.itemView.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View view) {
+                    onSubItemClick((SVH) holder, itemStatus.getGroupIndex(), itemStatus.getSubIndex());
+                }
+            });
+        }
+    }
+
+    @Override
+    public int getItemCount() {
+        int itemCount = 0;
+
+        if (mGroupItemStatus.size() == 0) {
+            return 0;
+        }
+
+        for (int i = 0; i < mGroupItemStatus.size(); i++) {
+            if (mGroupItemStatus.get(i)) {
+                itemCount += mSecondaryListBeen.get(i).getSubItems().size() + 1;
+            } else {
+                itemCount++;
+            }
+        }
+        return itemCount;
+    }
+
+    @Override
+    public int getItemViewType(int position) {
+        return getItemStatusByPosition(position).getItemType();
+    }
+
+    /**
+     * 获取条目状态信息
+     *
+     * @param position
+     * @return
+     */
+    private ItemStatus getItemStatusByPosition(int position) {
+        ItemStatus itemStatus = new ItemStatus();
+
+        int i = 0;
+        int groupItemPosition = 0;
+        for (i = 0; i < mGroupItemStatus.size(); i++) {
+            if (position == groupItemPosition) {
+                itemStatus.setItemType(ItemStatus.TYPE_GROUPITEM);
+                itemStatus.setGroupIndex(i);
+                break;
+            }
+
+            if (position < groupItemPosition) {
+                itemStatus.setItemType(ItemStatus.TYPE_SUBITEM);
+                itemStatus.setGroupIndex(i - 1);
+                itemStatus.setSubIndex(position - (groupItemPosition
+                        - mSecondaryListBeen.get(i - 1).getSubItems().size()));
+                break;
+            }
+
+            groupItemPosition++;
+
+            if (mGroupItemStatus.get(i)) {
+                groupItemPosition += mSecondaryListBeen.get(i).getSubItems().size();
+            }
+
+        }
+
+        if (i >= mGroupItemStatus.size()) {
+            itemStatus.setItemType(ItemStatus.TYPE_SUBITEM);
+            itemStatus.setGroupIndex(i - 1);
+            itemStatus.setSubIndex(position - (groupItemPosition
+                    - mSecondaryListBeen.get(i - 1).getSubItems().size()));
+        }
+
+        return itemStatus;
+    }
+
+    /**
+     * 条目状态类
+     */
+    private static class ItemStatus {
+        public static final int TYPE_GROUPITEM = 0;
+        public static final int TYPE_SUBITEM = 1;
+
+        private int itemType;
+        private int groupIndex = 0;
+        private int subIndex = -1;
+
+        public int getItemType() {
+            return itemType;
+        }
+
+        public void setItemType(int itemType) {
+            this.itemType = itemType;
+        }
+
+        public int getGroupIndex() {
+            return groupIndex;
+        }
+
+        public void setGroupIndex(int groupIndex) {
+            this.groupIndex = groupIndex;
+        }
+
+        public int getSubIndex() {
+            return subIndex;
+        }
+
+        public void setSubIndex(int subIndex) {
+            this.subIndex = subIndex;
+        }
+    }
+
+    /**
+     * 二级列表泛型实体类
+     *
+     * @param <G> 一级实体类
+     * @param <S> 二级实体类
+     */
+    public final static class SecondaryListBean<G, S> {
+        private G groupItem;
+        private List<S> subItems;
+
+        public SecondaryListBean(G groupItem, List<S> subItems) {
+            this.groupItem = groupItem;
+            this.subItems = subItems;
+        }
+
+        public G getGroupItem() {
+            return groupItem;
+        }
+
+        public void setGroupItem(G groupItem) {
+            this.groupItem = groupItem;
+        }
+
+        public List<S> getSubItems() {
+            return subItems;
+        }
+
+        public void setSubItems(List<S> subItems) {
+            this.subItems = subItems;
+        }
+    }
+}

+ 1 - 0
app_modular/applogin/src/main/AndroidManifest.xml

@@ -23,5 +23,6 @@
             android:name=".activity.AdminRegisterActivity"
             android:windowSoftInputMode="adjustPan|stateHidden" />
         <activity android:name=".activity.EnterpriseCompleteActivity" />
+        <activity android:name=".activity.IndustryChooseActivity" />
     </application>
 </manifest>

+ 5 - 5
app_modular/applogin/src/main/assets/profession.json

@@ -1,4 +1,9 @@
 {
+  "服务业": [
+    "医疗/护理/美容/保健/卫生服务",
+    "酒店/餐饮",
+    "旅游/度假"
+  ],
   "IT|通信|电子|互联网": [
     "互联网/电子商务",
     "计算机软件",
@@ -57,11 +62,6 @@
     "交通/运输",
     "物流/仓储"
   ],
-  "服务业": [
-    "医疗/护理/美容/保健/卫生服务",
-    "酒店/餐饮",
-    "旅游/度假"
-  ],
   "文化|传媒|娱乐|体育": [
     "媒体/出版/影视/文化传播",
     "娱乐/体育/休闲"

+ 11 - 71
app_modular/applogin/src/main/java/com/modular/login/activity/EnterpriseRegisterActivity.java

@@ -50,10 +50,8 @@ import com.me.network.app.http.Method;
 import com.me.network.app.http.rx.ResultListener;
 import com.me.network.app.http.rx.ResultSubscriber;
 import com.modular.login.R;
-import com.modular.login.model.ProfessionBean;
 import com.nostra13.universalimageloader.core.ImageLoader;
 
-import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
 
@@ -62,11 +60,8 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.LinkedHashMap;
-import java.util.List;
 import java.util.Map;
 
 /**
@@ -75,13 +70,14 @@ import java.util.Map;
 
 public class EnterpriseRegisterActivity extends BaseActivity implements View.OnClickListener {
     private final int ENTERPRISE_REGISTER = 0x11;
+    private final int INDUSTRY_CHOOSE = 0x12;
 
     private Button mNextStepButton;
     private FormEditText mEnterpriseCompanyEt;
     private FormEditText mEnterpriseLicenseEt;
     private FormEditText mEnterpriseRepresentEt;
     private FormEditText mEnterpriseAddressEt;
-    private FormEditText mEnterpriseIndustryEt;
+    private TextView mEnterpriseIndustryEt;
     private FormEditText mEnterpriseBusinessEt;
     private ImageView mEnterpriseLicenseIv;
     private ImageView mTakePicImageView;
@@ -94,7 +90,6 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
     private static final int REQUEST_CODE_CROP_PHOTO = 3;//裁剪
     private String path = null;
     private File mLicenseFile;
-    private List<ProfessionBean> mProfessionList;
 
     private Handler mHandler = new Handler() {
         @Override
@@ -167,7 +162,7 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
         mEnterpriseLicenseEt = (FormEditText) findViewById(R.id.enterprise_register_license_et);
         mEnterpriseRepresentEt = (FormEditText) findViewById(R.id.enterprise_register_represent_et);
         mEnterpriseAddressEt = (FormEditText) findViewById(R.id.enterprise_register_address_et);
-        mEnterpriseIndustryEt = (FormEditText) findViewById(R.id.enterprise_register_industry_et);
+        mEnterpriseIndustryEt = (TextView) findViewById(R.id.enterprise_register_industry_et);
         mEnterpriseBusinessEt = (FormEditText) findViewById(R.id.enterprise_register_business_et);
         mEnterpriseLicenseIv = (ImageView) findViewById(R.id.enterprise_register_license_iv);
         mTakePicImageView = (ImageView) findViewById(R.id.enterprise_register_picture_iv);
@@ -176,7 +171,6 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
         mEnterpriseClauseTv.setMovementMethod(LinkMovementMethod.getInstance());
 
         mClauseCheckBox = (CheckBox) findViewById(R.id.enterprise_register_clause_cb);
-        mProfessionList = new ArrayList<>();
         mHttpClient = new
 //                HttpClient.Builder("https://account.ubtob.com/sso")
                 HttpClient.Builder("http://192.168.253.66:8082")
@@ -184,67 +178,6 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
                 .build();
     }
 
-    private void initProfession() {
-        mProfessionList = new ArrayList<>();
-        String profession = CommonUtil.getAssetsJson(this, "profession.json");
-        try {
-            JSONObject professionObject = new JSONObject(profession);
-            Iterator<String> iterator = professionObject.keys();
-            while (iterator.hasNext()) {
-                ProfessionBean professionBean = new ProfessionBean();
-                String professionFirstTitle = iterator.next().toString();
-                professionBean.setProfessionFirstTitle(professionFirstTitle);
-
-                List<ProfessionBean.ProfessionSecondBean> professionSecondList = new ArrayList<>();
-
-                Object second = professionObject.opt(professionFirstTitle);
-                if (second instanceof JSONArray) {
-                    JSONArray secondArray = (JSONArray) second;
-                    if (secondArray != null) {
-                        for (int i = 0; i < secondArray.length(); i++) {
-                            ProfessionBean.ProfessionSecondBean professionSecond = new ProfessionBean.ProfessionSecondBean();
-                            String secondTitle = secondArray.optString(i);
-                            professionSecond.setProfessionSecondTitle(secondTitle);
-
-                            professionSecondList.add(professionSecond);
-                        }
-                    }
-                } else if (second instanceof JSONObject) {
-                    JSONObject secondObject = (JSONObject) second;
-                    Iterator<String> secondKeys = secondObject.keys();
-                    while (secondKeys.hasNext()) {
-                        ProfessionBean.ProfessionSecondBean professionSecond = new ProfessionBean.ProfessionSecondBean();
-                        String secondTitle = secondKeys.next().toString();
-                        professionSecond.setProfessionSecondTitle(secondTitle);
-
-                        List<String> thirdTitles = new ArrayList<>();
-                        Object third = secondObject.opt(secondTitle);
-                        if (third instanceof String) {
-                            thirdTitles.add((String) third);
-                        } else if (third instanceof JSONArray) {
-                            JSONArray thirdArray = (JSONArray) third;
-                            for (int i = 0; i < thirdArray.length(); i++) {
-                                String thirdTitle = thirdArray.optString(i);
-                                thirdTitles.add(thirdTitle);
-                            }
-                        }
-
-                        professionSecond.setProfessionThirdTitles(thirdTitles);
-
-                        professionSecondList.add(professionSecond);
-                    }
-                }
-
-                professionBean.setProfessionSecondTitles(professionSecondList);
-
-                mProfessionList.add(professionBean);
-            }
-            Log.d("professionList", mProfessionList.toString());
-        } catch (JSONException e) {
-            e.printStackTrace();
-        }
-    }
-
     @Override
     public void onClick(View v) {
         int i = v.getId();
@@ -287,7 +220,9 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
             CommonUtil.closeKeybord(mEnterpriseCompanyEt, this);
             showPicturePopup();
         } else if (i == R.id.enterprise_register_industry_et) {
-
+            Intent intent = new Intent();
+            intent.setClass(this, IndustryChooseActivity.class);
+            startActivityForResult(intent, INDUSTRY_CHOOSE);
         }
     }
 
@@ -545,6 +480,11 @@ public class EnterpriseRegisterActivity extends BaseActivity implements View.OnC
                     ToastUtil.showToast(this, R.string.c_photo_album_failed);
                 }
             }
+        } else if (requestCode == INDUSTRY_CHOOSE) {
+            if (resultCode == Activity.RESULT_OK) {
+                String industry = data.getStringExtra("industry");
+                mEnterpriseIndustryEt.setText(industry);
+            }
         }
     }
 

+ 149 - 0
app_modular/applogin/src/main/java/com/modular/login/activity/IndustryChooseActivity.java

@@ -0,0 +1,149 @@
+package com.modular.login.activity;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+
+import com.core.base.BaseActivity;
+import com.core.utils.CommonUtil;
+import com.core.widget.RecycleViewDivider;
+import com.core.widget.view.adapter.SecondaryListAdapter;
+import com.modular.login.R;
+import com.modular.login.adapter.IndustryAdapter;
+import com.modular.login.model.ProfessionBean;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2017/9/26.
+ */
+
+public class IndustryChooseActivity extends BaseActivity {
+    private List<ProfessionBean> mProfessionList;
+    private RecyclerView mRecyclerView;
+    private IndustryAdapter mIndustryAdapter;
+    private RecyclerView.LayoutManager mLayoutManager;
+    private RecycleViewDivider mRecycleViewDivider;
+    private List<SecondaryListAdapter.SecondaryListBean<String, String>> mSecondaryListBeen;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_industry_choose);
+        getSupportActionBar().setTitle("行业选择");
+
+        init();
+        initDatas();
+        initEvents();
+    }
+
+    private void initEvents() {
+        mIndustryAdapter.setOnSubItemClickListener(new IndustryAdapter.OnSubItemClickListener() {
+            @Override
+            public void onSubItemClick(String message) {
+                Intent intent = new Intent();
+                intent.putExtra("industry", message);
+                setResult(Activity.RESULT_OK, intent);
+                finish();
+            }
+        });
+    }
+
+    private void init() {
+        mRecycleViewDivider = new RecycleViewDivider(this, LinearLayoutManager.VERTICAL);
+        mRecyclerView = (RecyclerView) findViewById(R.id.industry_choose_rv);
+        mLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
+        mRecyclerView.setLayoutManager(mLayoutManager);
+        mRecyclerView.addItemDecoration(mRecycleViewDivider);
+
+        mIndustryAdapter = new IndustryAdapter(this);
+        initProfession();
+        mSecondaryListBeen = new ArrayList<>();
+    }
+
+    private void initDatas() {
+        for (int i = 0; i < mProfessionList.size(); i++) {
+            ProfessionBean professionBean = mProfessionList.get(i);
+            List<String> strings = new ArrayList<>();
+            for (int j = 0; j < professionBean.getProfessionSecondTitles().size(); j++) {
+                strings.add(professionBean.getProfessionSecondTitles().get(j).getProfessionSecondTitle());
+            }
+            SecondaryListAdapter.SecondaryListBean<String, String> secondaryListBean
+                    = new SecondaryListAdapter.SecondaryListBean<>(professionBean.getProfessionFirstTitle(),
+                    strings);
+
+            mSecondaryListBeen.add(secondaryListBean);
+        }
+        mIndustryAdapter.setDatas(mSecondaryListBeen);
+        mRecyclerView.setAdapter(mIndustryAdapter);
+    }
+
+    private void initProfession() {
+        mProfessionList = new ArrayList<>();
+        String profession = CommonUtil.getAssetsJson(this, "profession.json");
+        try {
+            JSONObject professionObject = new JSONObject(profession);
+            Iterator<String> iterator = professionObject.keys();
+            while (iterator.hasNext()) {
+                ProfessionBean professionBean = new ProfessionBean();
+                String professionFirstTitle = iterator.next().toString();
+                professionBean.setProfessionFirstTitle(professionFirstTitle);
+
+                List<ProfessionBean.ProfessionSecondBean> professionSecondList = new ArrayList<>();
+
+                Object second = professionObject.opt(professionFirstTitle);
+                if (second instanceof JSONArray) {
+                    JSONArray secondArray = (JSONArray) second;
+                    if (secondArray != null) {
+                        for (int i = 0; i < secondArray.length(); i++) {
+                            ProfessionBean.ProfessionSecondBean professionSecond = new ProfessionBean.ProfessionSecondBean();
+                            String secondTitle = secondArray.optString(i);
+                            professionSecond.setProfessionSecondTitle(secondTitle);
+
+                            professionSecondList.add(professionSecond);
+                        }
+                    }
+                } else if (second instanceof JSONObject) {
+                    JSONObject secondObject = (JSONObject) second;
+                    Iterator<String> secondKeys = secondObject.keys();
+                    while (secondKeys.hasNext()) {
+                        ProfessionBean.ProfessionSecondBean professionSecond = new ProfessionBean.ProfessionSecondBean();
+                        String secondTitle = secondKeys.next().toString();
+                        professionSecond.setProfessionSecondTitle(secondTitle);
+
+                        List<String> thirdTitles = new ArrayList<>();
+                        Object third = secondObject.opt(secondTitle);
+                        if (third instanceof String) {
+                            thirdTitles.add((String) third);
+                        } else if (third instanceof JSONArray) {
+                            JSONArray thirdArray = (JSONArray) third;
+                            for (int i = 0; i < thirdArray.length(); i++) {
+                                String thirdTitle = thirdArray.optString(i);
+                                thirdTitles.add(thirdTitle);
+                            }
+                        }
+
+                        professionSecond.setProfessionThirdTitles(thirdTitles);
+
+                        professionSecondList.add(professionSecond);
+                    }
+                }
+
+                professionBean.setProfessionSecondTitles(professionSecondList);
+
+                mProfessionList.add(professionBean);
+            }
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+    }
+
+}

+ 5 - 6
app_modular/applogin/src/main/java/com/modular/login/activity/RegisterSelectActivity.java

@@ -5,7 +5,6 @@ import android.os.Bundle;
 import android.view.View;
 
 import com.core.base.BaseActivity;
-import com.core.utils.IntentUtils;
 import com.modular.login.R;
 
 import de.hdodenhof.circleimageview.CircleImageView;
@@ -30,11 +29,11 @@ public class RegisterSelectActivity extends BaseActivity implements View.OnClick
         findViewById(R.id.company_btn).setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                IntentUtils.webLinks(mContext,
-                        "https://account.ubtob.com/sso/register",
-                        "企业注册");
-//                startActivity(new Intent(mContext, EnterpriseRegisterActivity.class));
-//                finish();
+//                IntentUtils.webLinks(mContext,
+//                        "https://account.ubtob.com/sso/register",
+//                        "企业注册");
+                startActivity(new Intent(mContext, EnterpriseRegisterActivity.class));
+                finish();
             }
         });
     }

+ 102 - 0
app_modular/applogin/src/main/java/com/modular/login/adapter/IndustryAdapter.java

@@ -0,0 +1,102 @@
+package com.modular.login.adapter;
+
+import android.content.Context;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import com.core.widget.view.adapter.SecondaryListAdapter;
+import com.modular.login.R;
+
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2017/9/26.
+ */
+
+public class IndustryAdapter extends SecondaryListAdapter<IndustryAdapter.GroupItemViewHolder, IndustryAdapter.SubItemViewHolder> {
+    private Context mContext;
+    private List<SecondaryListBean<String, String>> mDatas;
+    private OnSubItemClickListener mOnSubItemClickListener;
+
+    public IndustryAdapter(Context context) {
+        mContext = context;
+    }
+
+    public List<SecondaryListBean<String, String>> getDatas() {
+        return mDatas;
+    }
+
+    public void setDatas(List<SecondaryListBean<String, String>> datas) {
+        mDatas = datas;
+        initSecondaryList(mDatas);
+        setGroupItemStatu(0, true);
+    }
+
+    public void setOnSubItemClickListener(OnSubItemClickListener onSubItemClickListener) {
+        mOnSubItemClickListener = onSubItemClickListener;
+    }
+
+    @Override
+    public RecyclerView.ViewHolder onCreateGroupViewHolder(ViewGroup parent) {
+        View groupView = LayoutInflater.from(mContext).inflate(R.layout.item_group_layout, parent, false);
+        return new GroupItemViewHolder(groupView);
+    }
+
+    @Override
+    public RecyclerView.ViewHolder onCreateSubViewHolder(ViewGroup parent) {
+        View subView = LayoutInflater.from(mContext).inflate(R.layout.item_sub_layout, parent, false);
+        return new SubItemViewHolder(subView);
+    }
+
+    @Override
+    public void onBindGroupViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex) {
+        ((GroupItemViewHolder) holder).groupTextView.setText(mDatas.get(groupItemIndex).getGroupItem());
+    }
+
+    @Override
+    public void onBindSubViewHolder(RecyclerView.ViewHolder holder, int groupItemIndex, int subItemIndex) {
+        ((SubItemViewHolder) holder).subTextView.setText(mDatas.get(groupItemIndex).getSubItems().get(subItemIndex));
+    }
+
+    @Override
+    public void onGroupItemClick(boolean isExpand, GroupItemViewHolder holder, int groupItemIndex) {
+//        Toast.makeText(mContext, mDatas.get(groupItemIndex).getGroupItem(), Toast.LENGTH_SHORT).show();
+    }
+
+    @Override
+    public void onSubItemClick(SubItemViewHolder holder, int groupItemIndex, int subItemIndex) {
+//        Toast.makeText(mContext, mDatas.get(groupItemIndex).getGroupItem()
+//                + "->" + mDatas.get(groupItemIndex).getSubItems().get(subItemIndex), Toast.LENGTH_SHORT).show();
+        if (mOnSubItemClickListener != null) {
+            String message = mDatas.get(groupItemIndex).getGroupItem() + "/" + mDatas.get(groupItemIndex).getSubItems().get(subItemIndex);
+            mOnSubItemClickListener.onSubItemClick(message);
+        }
+    }
+
+    public class GroupItemViewHolder extends RecyclerView.ViewHolder {
+        TextView groupTextView;
+
+        public GroupItemViewHolder(View itemView) {
+            super(itemView);
+
+            groupTextView = (TextView) itemView.findViewById(R.id.group_tv);
+        }
+    }
+
+    public class SubItemViewHolder extends RecyclerView.ViewHolder {
+        TextView subTextView;
+
+        public SubItemViewHolder(View itemView) {
+            super(itemView);
+
+            subTextView = (TextView) itemView.findViewById(R.id.sub_tv);
+        }
+    }
+
+    public interface OnSubItemClickListener {
+        void onSubItemClick(String message);
+    }
+}

+ 0 - 14
app_modular/applogin/src/main/java/com/modular/login/model/ProfessionBean.java

@@ -46,20 +46,6 @@ public class ProfessionBean {
             mProfessionThirdTitles = professionThirdTitles;
         }
 
-        @Override
-        public String toString() {
-            return "ProfessionSecondBean{" +
-                    "mProfessionSecondTitle='" + mProfessionSecondTitle + '\'' +
-                    ", mProfessionThirdTitles=" + mProfessionThirdTitles +
-                    '}';
-        }
     }
 
-    @Override
-    public String toString() {
-        return "ProfessionBean{" +
-                "mProfessionFirstTitle='" + mProfessionFirstTitle + '\'' +
-                ", mProfessionSecondTitles=" + mProfessionSecondTitles +
-                '}';
-    }
 }

+ 10 - 3
app_modular/applogin/src/main/res/layout/activity_enterprise_register.xml

@@ -54,6 +54,7 @@
                     style="@style/register_edittext_style"
                     android:drawableLeft="@drawable/ic_company_name"
                     android:hint="企业名称"
+                    android:textColor="@color/black"
                     editTextFormExample:testType="nocheck" />
             </LinearLayout>
 
@@ -81,6 +82,7 @@
                     android:drawableLeft="@drawable/ic_business_license"
                     android:hint="营业执照号(例如:1234567890)"
                     android:inputType="number"
+                    android:textColor="@color/black"
                     editTextFormExample:testType="nocheck" />
             </LinearLayout>
 
@@ -107,6 +109,7 @@
                     style="@style/register_edittext_style"
                     android:drawableLeft="@drawable/ic_reg_name"
                     android:hint="法定代表人(例如:张三)"
+                    android:textColor="@color/black"
                     editTextFormExample:testType="nocheck" />
             </LinearLayout>
 
@@ -133,6 +136,7 @@
                     style="@style/register_edittext_style"
                     android:drawableLeft="@drawable/ic_reg_address"
                     android:hint="企业地址(例如:xx省xx市xx区xx路xx号)"
+                    android:textColor="@color/black"
                     editTextFormExample:testType="nocheck" />
 
             </LinearLayout>
@@ -156,14 +160,16 @@
                     android:textColor="@color/red"
                     android:visibility="invisible" />
 
-                <com.andreabaccega.widget.FormEditText
+                <TextView
                     android:id="@+id/enterprise_register_industry_et"
                     style="@style/register_edittext_style"
                     android:drawableLeft="@drawable/ic_trade_certify"
                     android:drawableRight="@drawable/ic_drop_down"
                     android:focusable="false"
+                    android:gravity="center_vertical"
                     android:hint="所在行业"
-                    android:paddingRight="10dp" />
+                    android:paddingRight="10dp"
+                    android:textColor="@color/black" />
 
 
             </LinearLayout>
@@ -191,7 +197,8 @@
                     android:id="@+id/enterprise_register_business_et"
                     style="@style/register_edittext_style"
                     android:drawableLeft="@drawable/ic_business_scope"
-                    android:hint="经营范围" />
+                    android:hint="经营范围"
+                    android:textColor="@color/black" />
             </LinearLayout>
 
             <View

+ 9 - 0
app_modular/applogin/src/main/res/layout/activity_industry_choose.xml

@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<android.support.v7.widget.RecyclerView
+    android:id="@+id/industry_choose_rv"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+</android.support.v7.widget.RecyclerView>

+ 15 - 0
app_modular/applogin/src/main/res/layout/item_group_layout.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:background="#beb8b8"
+              android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/group_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:padding="10dp"
+        android:textSize="16sp" />
+
+</LinearLayout>

+ 16 - 0
app_modular/applogin/src/main/res/layout/item_sub_layout.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/sub_tv"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/selector_me_menu_item_bg"
+        android:padding="10dp"
+        android:paddingLeft="20dp"
+        android:textSize="16sp" />
+
+</LinearLayout>