一级列表
来源:互联网 发布:淘宝客服兼职工作 编辑:程序博客网 时间:2024/04/29 21:09
package com.example.recyclerview;/** * Created by GUO on 2017/10/23. */public class Eventbus { private boolean isFlag; public boolean isFlag() { return isFlag; } public void setFlag(boolean flag) { isFlag = flag; }}
-------------------------------------------------------------------------------------------------------------------------------------------------
package com.example.recyclerview;/** * Created by GUO on 2017/10/23. */public class Eventprice { private int count; public int price; private boolean flag; public boolean isFlag() { return flag; } public void setFlag(boolean flag) { this.flag = flag; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public int getCount() { return count; } public void setCount(int count) { this.count = count; }}
-------------------------------------------------------------------------------------------------------------------------------------------------
package com.example.recyclerview;/** * Created by GUO on 2017/10/13. */public class ItemBean { private String name; private String price;private boolean cb; public ItemBean(String name, String price, boolean cb) { this.name = name; this.price = price; this.cb = cb; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPrice() { return price; } public void setPrice(String price) { this.price = price; } public boolean isCb() { return cb; } public void setCb(boolean cb) { this.cb = cb; }}
-------------------------------------------------------------------------------------------------------------------------------------------
package com.example.recyclerview;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.DividerItemDecoration;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.view.View;import android.widget.Button;import android.widget.CheckBox;import android.widget.TextView;import org.greenrobot.eventbus.EventBus;import org.greenrobot.eventbus.Subscribe;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity implements View.OnClickListener { private List<ItemBean> list = new ArrayList<>(); private int sum = 0; private int conut=0; /** * 全选 */ private CheckBox mCbAll; private RecyclerView mRv; private Myadapter myadapter; private TextView mTv; private int i = 0; /** * 反选 */ private Button mBack; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); initView(); EventBus.getDefault().register(this); show(); } @Override protected void onDestroy() { super.onDestroy(); EventBus.getDefault().unregister(this); } private void show() { //设置管理器 mRv.setLayoutManager(new LinearLayoutManager(this)); for (int i = 0; i < 5; i++) { ItemBean itemBean = new ItemBean("商品" + (i + 1), "2" + i, false); list.add(itemBean); } mRv.addItemDecoration(new DividerItemDecoration(this, DividerItemDecoration.VERTICAL)); myadapter = new Myadapter(list, this); mRv.setAdapter(myadapter); } private void initView() { mCbAll = (CheckBox) findViewById(R.id.cb_all); mRv = (RecyclerView) findViewById(R.id.rv); mCbAll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { myadapter.cbChecked(mCbAll.isChecked()); } }); mTv = (TextView) findViewById(R.id.tv); mBack = (Button) findViewById(R.id.back); mBack.setOnClickListener(this); } @Subscribe public void Onprice(Eventprice eventprice) { if (eventprice.isFlag()) { sum = 0; conut=0; } int price = eventprice.getPrice(); int count1 = eventprice.getCount(); conut += count1; sum += price; if (sum < 0||conut<0) { sum = 0; conut=0; } mTv.setText("个数: "+conut+" 价钱: " + sum); } @Subscribe public void OnEnventbus(Eventbus eventbus) { mCbAll.setChecked(eventbus.isFlag()); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.back: mBack.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { myadapter.reverseSelect(); } }); break; } }}
----------------------------------------------------------------------------------------------------------------------------------
package com.example.recyclerview;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.CheckBox;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Toast;import org.greenrobot.eventbus.EventBus;import java.util.ArrayList;import java.util.List;/** * Created by GUO on 2017/10/13. */public class Myadapter extends RecyclerView.Adapter { private List<ItemBean> list = new ArrayList<>(); private Context context; private int count; public Myadapter(List<ItemBean> list, Context context) { this.list = list; this.context = context; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.item, parent, false); TypeViewHolder typeViewHolder = new TypeViewHolder(view); return typeViewHolder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { //绑定值 final TypeViewHolder typeViewHolder = (TypeViewHolder) holder; final ItemBean itemBean; itemBean = list.get(position); typeViewHolder.textViewname.setText(itemBean.getName()); typeViewHolder.textViewprice.setText(itemBean.getPrice()); typeViewHolder.checkbox.setChecked(itemBean.isCb()); typeViewHolder.myAddDelView.setOnItemClick(new MyAddDelView.OnItemClick() { @Override public void onItemAddClick(int count) { if (itemBean.isCb()) { Eventprice eventprice = new Eventprice(); eventprice.setPrice(Integer.parseInt(itemBean.getPrice())); eventprice.setCount(1); EventBus.getDefault().post(eventprice); }else{ Toast.makeText(context,"请勾选",Toast.LENGTH_LONG).show(); typeViewHolder.myAddDelView.setCount(); } } @Override public void onItemDelClick(int count) { if (itemBean.isCb()) { Eventprice eventprice = new Eventprice(); eventprice.setPrice(-Integer.parseInt(itemBean.getPrice())); eventprice.setCount(-1); int count1 = eventprice.getCount(); if (count1<0){ count1=1; } EventBus.getDefault().post(eventprice); }else{ Toast.makeText(context,"请勾选",Toast.LENGTH_LONG).show(); typeViewHolder.myAddDelView.setCount(); } } }); typeViewHolder.checkbox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { boolean checked = typeViewHolder.checkbox.isChecked(); /*先判断点击的checkbox是否是选中状态,如果是, 则遍历其它checkbox,如果其它的checkbox都是选中状态则让全选被勾选上 */ if (checked) { itemBean.setCb(true); Eventprice eventprice = new Eventprice(); eventprice.setPrice(Integer.parseInt(itemBean.getPrice())); eventprice.setCount(1); EventBus.getDefault().post(eventprice); if (isAll()) { //都选上 Eventbus eventbus = new Eventbus(); eventbus.setFlag(true); EventBus.getDefault().post(eventbus); } } else { itemBean.setCb(false); Eventbus eventbus = new Eventbus(); eventbus.setFlag(false); EventBus.getDefault().post(eventbus); Eventprice eventprice = new Eventprice(); eventprice.setCount(-1); eventprice.setPrice(-Integer.parseInt(itemBean.getPrice())); EventBus.getDefault().post(eventprice); } } }); } /** * 全选 * * @return */ public boolean isAll() { for (ItemBean itemBean : list) { if (!itemBean.isCb()) { return false; } } return true; } @Override public int getItemCount() { return list.size(); } private class TypeViewHolder extends RecyclerView.ViewHolder { private TextView textViewname; private TextView textViewprice; private CheckBox checkbox; private MyAddDelView myAddDelView; private LinearLayout linearLayout; public TypeViewHolder(View itemView) { super(itemView); textViewname = itemView.findViewById(R.id.tv_name); textViewprice = itemView.findViewById(R.id.tv_price); checkbox = itemView.findViewById(R.id.cb); linearLayout = itemView.findViewById(R.id.ll); myAddDelView = itemView.findViewById(R.id.mydv); } } public void cbChecked(boolean fiag) { Eventprice eventprice2 = new Eventprice(); eventprice2.setFlag(true); EventBus.getDefault().post(eventprice2); for (ItemBean itemBean : list) { if (fiag) { itemBean.setCb(fiag); Eventprice eventprice = new Eventprice(); eventprice.setCount(1); eventprice.setPrice(Integer.parseInt(itemBean.getPrice())); EventBus.getDefault().post(eventprice); } else { itemBean.setCb(false); Eventprice eventprice1 = new Eventprice(); eventprice1.setCount(-1); eventprice1.setPrice(-Integer.parseInt(itemBean.getPrice())); EventBus.getDefault().post(eventprice1); } notifyDataSetChanged(); } } //反选 public void reverseSelect() { for (ItemBean itemBean : list) { itemBean.setCb(!itemBean.isCb()); notifyDataSetChanged(); } }// private int Tataocount(){// count = 0;// for (int i=0;i<list.size();i++){//// }//// return 0;// } //个数 private int Tataocount() { count = 0;// for (ItemBean itemBean : list) {// if (itemBean.isCb()) {// count++;// }// }// notifyDataSetChanged(); for (int i=0;i<list.size();i++){ if (list.get(i).isCb()){ count++; } } return count; }}
阅读全文
0 0
- 一级列表
- 纵向一级列表
- 一级列表购物车
- 一级列表的
- 一级列表购物车
- 购物车一级列表
- 一级列表MVP封装
- 一级 二级列表
- MySQL一级防范检查列表
- 全国市一级城市列表
- 一级列表的购物车
- 一级列表购物车完整版
- 一级列表的购物车
- 仿购物车一级列表
- android一级列表购物车
- 购物车一级列表布局
- 织梦子栏目调用上一级栏目列表
- dedecms如何调用一级栏目并列表
- Echarts中的toolbox改变鼠标移入字体的显示位置
- 聚类分析算法Python3.6实践K均值聚类(K-means)
- Swift中 能交换两个变量的数值
- Docker:Error response from daemon: Cannot restart container lnmp: oci runtime error: container_linux
- PullTorefreshListView的使用
- 一级列表
- 第七周【项目2
- 【入门篇】Activiti流程实例启动
- 第九周项目一 二叉树算法库
- 用户全
- Java
- angularJS上传图片预览
- 自定义圆形方形图片边框
- LeetCode-674:Longest Continuous Increasing Subsequence (最长连续增序列)