diff --git a/app/src/main/java/com/qhclh/ytzh/bean/WorkBean.java b/app/src/main/java/com/qhclh/ytzh/bean/WorkBean.java new file mode 100644 index 0000000..7f54600 --- /dev/null +++ b/app/src/main/java/com/qhclh/ytzh/bean/WorkBean.java @@ -0,0 +1,31 @@ +package com.qhclh.ytzh.bean; + +/** + * Created by 青花瓷 on 2017/12/18. + */ + +public class WorkBean { + private int img; + private String text; + + public WorkBean(int img, String text) { + this.img = img; + this.text = text; + } + + public int getImg() { + return img; + } + + public void setImg(int img) { + this.img = img; + } + + public String getText() { + return text; + } + + public void setText(String text) { + this.text = text; + } +} diff --git a/app/src/main/java/com/qhclh/ytzh/utils/RecyclerViewUtil.java b/app/src/main/java/com/qhclh/ytzh/utils/RecyclerViewUtil.java new file mode 100644 index 0000000..167fa05 --- /dev/null +++ b/app/src/main/java/com/qhclh/ytzh/utils/RecyclerViewUtil.java @@ -0,0 +1,90 @@ +package com.qhclh.ytzh.utils; + +import android.content.Context; +import android.support.v7.widget.RecyclerView; +import android.view.GestureDetector; +import android.view.MotionEvent; +import android.view.View; + +/** + * Created by lh on 2017/5/24. + */ + +public class RecyclerViewUtil { + private RecyclerView mRecyclerView = null; + private GestureDetector mGestureDetector = null; + private RecyclerView.SimpleOnItemTouchListener mSimpleOnItemTouchListener; + private OnItemClickListener mOnItemClickListener = null; + private OnItemLongClickListener mOnItemLongClickListener = null; + private Context context; + + public RecyclerViewUtil(Context context, RecyclerView recyclerView) { + this.context = context; + this.mRecyclerView = recyclerView; + + mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { + //长按事件 + @Override + public void onLongPress(MotionEvent e) { + super.onLongPress(e); + if (mOnItemLongClickListener != null) { + View childView = mRecyclerView.findChildViewUnder(e.getX(), e.getY()); + if (childView != null) { + int position = mRecyclerView.getChildLayoutPosition(childView)-1; + mOnItemLongClickListener.onItemLongClick(position, childView); + } + } + } + + //单击事件 + @Override + public boolean onSingleTapUp(MotionEvent e) { + if (mOnItemClickListener != null) { + View childView = mRecyclerView.findChildViewUnder(e.getX(), e.getY()); + if (childView != null) { + int position = mRecyclerView.getChildLayoutPosition(childView); + long id = mRecyclerView.getId(); + if (position <0 || position> mRecyclerView.getLayoutManager().getItemCount()) + { + return false; + } + mOnItemClickListener.onItemClick(childView,position,id); + return true; + } + } + + return super.onSingleTapUp(e); + } + }); + + mSimpleOnItemTouchListener = new RecyclerView.SimpleOnItemTouchListener() { + @Override + public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) { + if (mGestureDetector.onTouchEvent(e)) { + return true; + } + return false; + } + }; + + mRecyclerView.addOnItemTouchListener(mSimpleOnItemTouchListener); + } + + public void setOnItemClickListener(OnItemClickListener l) { + mOnItemClickListener = l; + } + + public void setOnItemLongClickListener(OnItemLongClickListener l) { + mOnItemLongClickListener = l; + } + + //长按事件接口 + public interface OnItemLongClickListener { + public void onItemLongClick(int position, View view); + } + + //单击事件接口 + public interface OnItemClickListener { + public void onItemClick(View view, int position, long id); + } +} diff --git a/app/src/main/java/com/qhclh/ytzh/work/WorkAdapter.java b/app/src/main/java/com/qhclh/ytzh/work/WorkAdapter.java new file mode 100644 index 0000000..fcad42c --- /dev/null +++ b/app/src/main/java/com/qhclh/ytzh/work/WorkAdapter.java @@ -0,0 +1,71 @@ +package com.qhclh.ytzh.work; + +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.ImageView; +import android.widget.TextView; + +import com.qhclh.ytzh.R; +import com.qhclh.ytzh.bean.WorkBean; + +import java.util.List; + +/** + * Created by 青花瓷 on 2017/12/18. + */ + +public class WorkAdapter extends RecyclerView.Adapter { + private Context mContext; + private List mList; + + public WorkAdapter(Context mContext, List mList) { + this.mContext = mContext; + this.mList = mList; + } + + @Override + public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = LayoutInflater.from(mContext).inflate(R.layout.item_work,parent,false); + return new MyViewHolder(view); + } + + @Override + public void onBindViewHolder(MyViewHolder holder, int position) { + WorkBean workBean = mList.get(position); + MyViewHolder myViewHolder = holder; + + myViewHolder.getImageView().setImageResource(workBean.getImg()); + myViewHolder.getTextView().setText(workBean.getText()); + } + + @Override + public int getItemCount() { + return mList.size(); + } + + + + /** + *将ViewHolder类写成静态的. + **/ + static class MyViewHolder extends RecyclerView.ViewHolder{ + private ImageView imageView; + private TextView textView; + public MyViewHolder(View itemView) { + super(itemView); + imageView = itemView.findViewById(R.id.item_work_iv); + textView = itemView.findViewById(R.id.item_work_tv); + } + + public ImageView getImageView() { + return imageView; + } + + public TextView getTextView() { + return textView; + } + } +} diff --git a/app/src/main/java/com/qhclh/ytzh/work/WorkFragment.java b/app/src/main/java/com/qhclh/ytzh/work/WorkFragment.java index 0ffef94..11b1b91 100644 --- a/app/src/main/java/com/qhclh/ytzh/work/WorkFragment.java +++ b/app/src/main/java/com/qhclh/ytzh/work/WorkFragment.java @@ -1,12 +1,16 @@ package com.qhclh.ytzh.work; import android.content.Intent; +import android.support.v7.widget.GridLayoutManager; +import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.LinearLayout; import com.qhclh.ytzh.R; import com.qhclh.ytzh.base.BaseFragment; +import com.qhclh.ytzh.bean.WorkBean; import com.qhclh.ytzh.utils.GlideImageLoader; +import com.qhclh.ytzh.utils.RecyclerViewUtil; import com.qhclh.ytzh.work.breedpoultry.DatanalysisActivity; import com.qhclh.ytzh.work.carsmannage.CarsManageActivity; import com.qhclh.ytzh.work.productiondaily.ProductiondailyActivity; @@ -29,7 +33,7 @@ import butterknife.BindView; * Created by 青花瓷 on 2017/11/28. */ ///< 工作fragment -public class WorkFragment extends BaseFragment implements View.OnClickListener { +public class WorkFragment extends BaseFragment{ private List list_path; @BindView(R.id.work_breedingpoultry) LinearLayout work_breedingpoultry; @@ -45,6 +49,12 @@ public class WorkFragment extends BaseFragment implements View.OnClickListener { LinearLayout ll_productdaily_w; @BindView(R.id.work_banner) Banner banner; + @BindView(R.id.rv_work) + RecyclerView rv_work; + + private WorkAdapter workAdapter; + private List workBeanList; + private GridLayoutManager mLayoutManager; @Override protected int setLayout() { return R.layout.fragment_work; @@ -52,12 +62,25 @@ public class WorkFragment extends BaseFragment implements View.OnClickListener { @Override protected void initView() { -// work_tablepoultry.setVisibility(View.INVISIBLE); } @Override protected void initData() { list_path = new ArrayList<>(); + workBeanList = new ArrayList<>(); + workBeanList.add(new WorkBean(R.drawable.work_breedingpoultry,getString(R.string.work_breedingpoultry))); + workBeanList.add(new WorkBean(R.drawable.carmanager,getString(R.string.work_carsmanager))); + workBeanList.add(new WorkBean(R.drawable.scan,getString(R.string.work_scan))); + workBeanList.add(new WorkBean(R.drawable.rouqin_3x,getString(R.string.work_tablepoultry))); + workBeanList.add(new WorkBean(R.drawable.productdaily,getString(R.string.Productiondaily))); + workBeanList.add(new WorkBean(R.drawable.productdaily_w,getString(R.string.Productiondaily_w))); + + workAdapter = new WorkAdapter(getActivity(),workBeanList); + + mLayoutManager=new GridLayoutManager(getActivity(),4,GridLayoutManager.VERTICAL,false);//设置为一个4列的纵向网格布局 + rv_work.setLayoutManager(mLayoutManager); + rv_work.setAdapter(workAdapter); + list_path.add("http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg"); list_path.add("https://www.baidu.com/img/bd_logo1.png"); @@ -79,12 +102,30 @@ public class WorkFragment extends BaseFragment implements View.OnClickListener { @Override protected void initOper() { - work_breedingpoultry.setOnClickListener(this); - work_carsmanager.setOnClickListener(this); - work_scan.setOnClickListener(this); - work_tablepoultry.setOnClickListener(this); - ll_productdaily.setOnClickListener(this); - ll_productdaily_w.setOnClickListener(this); + RecyclerViewUtil util=new RecyclerViewUtil(getContext(),rv_work); + util.setOnItemClickListener(new RecyclerViewUtil.OnItemClickListener() { + @Override + public void onItemClick(View view, int position, long id) { + if (position<0) + { + return; + } + if (position ==0){ + startActivity(new Intent(getActivity(), DatanalysisActivity.class)); + }else if (position ==1){ + startActivity(new Intent(getActivity(), CarsManageActivity.class)); + }else if (position == 2){ + startActivity(new Intent(getActivity(), ScanResultActivity.class)); + }else if (position == 3){ + startActivity(new Intent(getActivity(), TablepoultryActivity.class)); + }else if (position == 4){ + startActivity(new Intent(getActivity(), ProductiondailyActivity.class)); + }else if (position == 5){ + //startActivity(new Intent(getActivity(), ProductiondailywActivity.class)); + startActivity(new Intent(getActivity(), WdailyActivity.class)); + } + } + }); } @Override @@ -103,23 +144,4 @@ public class WorkFragment extends BaseFragment implements View.OnClickListener { super.onStop(); banner.stopAutoPlay(); } - - @Override - public void onClick(View view) { - if (view.equals(work_breedingpoultry)){ - startActivity(new Intent(getActivity(), DatanalysisActivity.class)); - }else if (view.equals(work_carsmanager)){ - startActivity(new Intent(getActivity(), CarsManageActivity.class)); - }else if (view.equals(work_scan)){ - startActivity(new Intent(getActivity(), ScanResultActivity.class)); - }else if (view.equals(work_tablepoultry)){ - startActivity(new Intent(getActivity(), TablepoultryActivity.class)); - }else if (view.equals(ll_productdaily)){ - startActivity(new Intent(getActivity(), ProductiondailyActivity.class)); - }else if (view.equals(ll_productdaily_w)){ -// startActivity(new Intent(getActivity(), ProductiondailywActivity.class)); - startActivity(new Intent(getActivity(), WdailyActivity.class)); - } - } - } diff --git a/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/anqiu/AnqiuFragment.java b/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/anqiu/AnqiuFragment.java index d7c90f4..4123572 100644 --- a/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/anqiu/AnqiuFragment.java +++ b/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/anqiu/AnqiuFragment.java @@ -51,7 +51,6 @@ public class AnqiuFragment extends BaseFragment { lv_anqiu.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, int i, long l) { - System.out.println("aaa+++++"+l); } }); } diff --git a/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/changle/ChangleFragment.java b/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/changle/ChangleFragment.java index 620b0b6..9c65163 100644 --- a/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/changle/ChangleFragment.java +++ b/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/changle/ChangleFragment.java @@ -52,7 +52,6 @@ public class ChangleFragment extends BaseFragment { lv_changle.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, int i, long l) { - System.out.println("aaa+++++"+l); startActivity(new Intent(getActivity(), ReportActivity.class)); } }); diff --git a/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/qiuping/QiupingFragment.java b/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/qiuping/QiupingFragment.java index 7e12e21..6a407c9 100644 --- a/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/qiuping/QiupingFragment.java +++ b/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/qiuping/QiupingFragment.java @@ -51,7 +51,6 @@ public class QiupingFragment extends BaseFragment { lv_qiuping.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, int i, long l) { - System.out.println("aaa+++++"+l); } }); diff --git a/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/shouguangdong/ShouguangdFragment.java b/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/shouguangdong/ShouguangdFragment.java index d53bd26..4f6bb3e 100644 --- a/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/shouguangdong/ShouguangdFragment.java +++ b/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/shouguangdong/ShouguangdFragment.java @@ -51,7 +51,6 @@ public class ShouguangdFragment extends BaseFragment { lv_shouguangdong.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, int i, long l) { - System.out.println("aaa+++++"+l); } }); diff --git a/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/shouguangxi/ShouguangxFragment.java b/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/shouguangxi/ShouguangxFragment.java index 0304c53..83c9599 100644 --- a/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/shouguangxi/ShouguangxFragment.java +++ b/app/src/main/java/com/qhclh/ytzh/work/tablepoultry/shouguangxi/ShouguangxFragment.java @@ -51,7 +51,6 @@ public class ShouguangxFragment extends BaseFragment { lv_shouguangxi.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, int i, long l) { - System.out.println("aaa+++++"+l); } }); diff --git a/app/src/main/res/layout/fragment_work.xml b/app/src/main/res/layout/fragment_work.xml index 853b54c..8bc5d98 100644 --- a/app/src/main/res/layout/fragment_work.xml +++ b/app/src/main/res/layout/fragment_work.xml @@ -29,7 +29,8 @@ android:paddingBottom="@dimen/dp_15" android:paddingLeft="@dimen/dp_10" android:paddingRight="@dimen/dp_10" - android:paddingTop="@dimen/dp_15"> + android:paddingTop="@dimen/dp_15" + android:visibility="gone"> + android:paddingRight="@dimen/dp_10" + android:visibility="gone"> + android:orientation="vertical" + android:visibility="invisible"> + android:orientation="vertical" + android:visibility="invisible"> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_work.xml b/app/src/main/res/layout/item_work.xml new file mode 100644 index 0000000..47fdf1b --- /dev/null +++ b/app/src/main/res/layout/item_work.xml @@ -0,0 +1,21 @@ + + + + + + + + \ No newline at end of file