From 4677a49e54b7d2862e7a2970f345fbabb227f2f1 Mon Sep 17 00:00:00 2001 From: lh <1209405678@qq.com> Date: Thu, 30 Nov 2017 16:54:14 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AD=9B=E9=80=89=E7=95=8C=E9=9D=A2=20?= =?UTF-8?q?=E5=8E=82=E7=9A=84=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/qhclh/ytzh/bean/FactryBean.java | 55 +++++++++++ .../java/com/qhclh/ytzh/ui/MyGridView.java | 30 ++++++ .../breedpoultry/DatanalysisSActivity.java | 22 ++++- .../ytzh/work/breedpoultry/FactryAdapter.java | 92 +++++++++++++++++++ app/src/main/res/drawable/btn_check.xml | 7 ++ app/src/main/res/drawable/shape_select.xml | 17 ++++ app/src/main/res/layout/act_datanaly_s.xml | 33 ++++++- app/src/main/res/layout/item_factry.xml | 18 ++++ 8 files changed, 271 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/com/qhclh/ytzh/bean/FactryBean.java create mode 100644 app/src/main/java/com/qhclh/ytzh/ui/MyGridView.java create mode 100644 app/src/main/java/com/qhclh/ytzh/work/breedpoultry/FactryAdapter.java create mode 100644 app/src/main/res/drawable/btn_check.xml create mode 100644 app/src/main/res/drawable/shape_select.xml create mode 100644 app/src/main/res/layout/item_factry.xml diff --git a/app/src/main/java/com/qhclh/ytzh/bean/FactryBean.java b/app/src/main/java/com/qhclh/ytzh/bean/FactryBean.java new file mode 100644 index 0000000..1b1d75d --- /dev/null +++ b/app/src/main/java/com/qhclh/ytzh/bean/FactryBean.java @@ -0,0 +1,55 @@ +package com.qhclh.ytzh.bean; + +/** + * Created by 青花瓷 on 2017/11/30. + */ + +public class FactryBean { + private int id; + private String name; + private boolean isCheck; + + public FactryBean(int id, String name) { + this.id = id; + this.name = name; + } + + public FactryBean(int id, String name, boolean isCheck) { + this.id = id; + this.name = name; + this.isCheck = isCheck; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public boolean isCheck() { + return isCheck; + } + + public void setCheck(boolean check) { + isCheck = check; + } + + @Override + public String toString() { + return "FactryBean{" + + "id=" + id + + ", name='" + name + '\'' + + ", isCheck=" + isCheck + + '}'; + } +} diff --git a/app/src/main/java/com/qhclh/ytzh/ui/MyGridView.java b/app/src/main/java/com/qhclh/ytzh/ui/MyGridView.java new file mode 100644 index 0000000..a80af03 --- /dev/null +++ b/app/src/main/java/com/qhclh/ytzh/ui/MyGridView.java @@ -0,0 +1,30 @@ +package com.qhclh.ytzh.ui; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.GridView; + +/** + * Created by 青花瓷 on 2017/11/30. + */ + +public class MyGridView extends GridView { + public MyGridView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public MyGridView(Context context) { + super(context); + } + + public MyGridView(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs, defStyle); + } + + @Override + public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int expandSpec = MeasureSpec.makeMeasureSpec( + Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); + super.onMeasure(widthMeasureSpec, expandSpec); + } +} diff --git a/app/src/main/java/com/qhclh/ytzh/work/breedpoultry/DatanalysisSActivity.java b/app/src/main/java/com/qhclh/ytzh/work/breedpoultry/DatanalysisSActivity.java index 510c14c..a24a8fb 100644 --- a/app/src/main/java/com/qhclh/ytzh/work/breedpoultry/DatanalysisSActivity.java +++ b/app/src/main/java/com/qhclh/ytzh/work/breedpoultry/DatanalysisSActivity.java @@ -2,9 +2,14 @@ package com.qhclh.ytzh.work.breedpoultry; import android.support.v7.widget.Toolbar; import android.view.View; +import android.widget.GridView; import com.qhclh.ytzh.R; import com.qhclh.ytzh.base.BaseActivity; +import com.qhclh.ytzh.bean.FactryBean; + +import java.util.ArrayList; +import java.util.List; import butterknife.BindView; @@ -15,6 +20,12 @@ import butterknife.BindView; public class DatanalysisSActivity extends BaseActivity { @BindView(R.id.toolbar) Toolbar mToolbar; + @BindView(R.id.gv_dataanaly) + GridView gv_dataanaly; + private List factryBeanList; + private FactryAdapter factryAdapter; + + private List factryCheck; @Override protected int setLayoutId() { return R.layout.act_datanaly_s; @@ -32,7 +43,16 @@ public class DatanalysisSActivity extends BaseActivity { @Override protected void initData() { - + factryBeanList = new ArrayList<>(); + factryCheck = new ArrayList<>(); + for (int i=0;i<10;i++){ + factryBeanList.add(new FactryBean(i,"adf"+i)); + } + for (int i=0;i list; + private LayoutInflater layoutInflater; + private List isCheck; + + public FactryAdapter(Context context, List list, List isCheck) { + this.context = context; + this.list = list; + this.isCheck = isCheck; + layoutInflater = LayoutInflater.from(context); + } + + public FactryAdapter(Context context, List list) { + this.context = context; + this.list = list; + layoutInflater = LayoutInflater.from(context); + } + + @Override + public int getCount() { + return list.size(); + } + + @Override + public Object getItem(int i) { + return list.get(i); + } + + @Override + public long getItemId(int i) { + return list.get(i).getId(); + } + + @Override + public View getView(int i, View view, ViewGroup viewGroup) { + FactryBean message = list.get(i); + final ViewHolder viewHolder; + if (view == null){ + viewHolder = new ViewHolder(); + view = layoutInflater.inflate(R.layout.item_factry,viewGroup,false); + viewHolder.factry_name = view.findViewById(R.id.factry_name); + + view.setTag(viewHolder); + + }else { + viewHolder = (ViewHolder) view.getTag(); + } + viewHolder.factry_name.setTag(i); + viewHolder.factry_name.setChecked(isCheck.get(i)); + viewHolder.factry_name.setText(message.getName()); + viewHolder.factry_name.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean b) { + int pos = (int) compoundButton.getTag(); + isCheck.set(pos, b); + list.get(pos).setCheck(b); + if (b){ + viewHolder.factry_name.setTextColor(context.getResources().getColor(R.color.green029737)); + }else { + viewHolder.factry_name.setTextColor(context.getResources().getColor(R.color.black303030)); + } + } + }); + + return view; + } + + private class ViewHolder { + public CheckBox factry_name; + } +} diff --git a/app/src/main/res/drawable/btn_check.xml b/app/src/main/res/drawable/btn_check.xml new file mode 100644 index 0000000..fa68b4b --- /dev/null +++ b/app/src/main/res/drawable/btn_check.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_select.xml b/app/src/main/res/drawable/shape_select.xml new file mode 100644 index 0000000..6ac01a0 --- /dev/null +++ b/app/src/main/res/drawable/shape_select.xml @@ -0,0 +1,17 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/act_datanaly_s.xml b/app/src/main/res/layout/act_datanaly_s.xml index 150a42a..915ef90 100644 --- a/app/src/main/res/layout/act_datanaly_s.xml +++ b/app/src/main/res/layout/act_datanaly_s.xml @@ -1,7 +1,36 @@ + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@color/greyf4f4f4" + android:orientation="vertical"> + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_factry.xml b/app/src/main/res/layout/item_factry.xml new file mode 100644 index 0000000..ac4aa38 --- /dev/null +++ b/app/src/main/res/layout/item_factry.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file