Andriodjie——简单的购物车全选反选
来源:互联网 发布:linux vim命令模式 编辑:程序博客网 时间:2024/05/16 11:48
//布局
//两个bean
//GWCbean
public class GWCbean { private String name; private int price; private boolean b; public GWCbean(String name, int price, boolean b) { this.name = name; this.price = price; this.b = b; } @Override public String toString() { return "GWCbean{" + "name='" + name + '\'' + ", price=" + price + ", b=" + b + '}'; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public boolean isB() { return b; } public void setB(boolean b) { this.b = b; }}//EventBean
public class EventBean { private boolean is_all; private List<GWCbean> list; public EventBean(boolean is_all, List<GWCbean> list) { this.is_all = is_all; this.list = list; } @Override public String toString() { return "EventBean{" + "is_all=" + is_all + ", list=" + list + '}'; } public boolean is_all() { return is_all; } public void setIs_all(boolean is_all) { this.is_all = is_all; } public List<GWCbean> getList() { return list; } public void setList(List<GWCbean> list) { this.list = list; }}//MyAdapter
public class MyAdapter extends RecyclerView.Adapter { private Context context; private List<GWCbean> list; public MyAdapter(Context context, List<GWCbean> list) { this.context = context; this.list = list; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view=View.inflate(context,R.layout.rcview_item,null); MyViewHolder holder = new MyViewHolder(view); return holder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) { if(holder instanceof MyViewHolder){ ((MyViewHolder) holder).cb_goods.setChecked(list.get(position).isB()); ((MyViewHolder) holder).tv_name.setText(list.get(position).getName()); ((MyViewHolder) holder).tv_price.setText(list.get(position).getPrice()+""); ((MyViewHolder) holder).cb_goods.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { list.get(position).setB(!list.get(position).isB()); boolean b=true; for (int i = 0; i < list.size(); i++) { if(!list.get(i).isB()){ b=false; } } EventBus.getDefault().post(new EventBean(b,list)); notifyDataSetChanged(); } }); } } @Override public int getItemCount() { return list.size(); } class MyViewHolder extends RecyclerView.ViewHolder{ public CheckBox cb_goods; public TextView tv_name; public TextView tv_price; public MyViewHolder(View itemView) { super(itemView); cb_goods=itemView.findViewById(R.id.cb_goods); tv_name=itemView.findViewById(R.id.tv_name); tv_price=itemView.findViewById(R.id.tv_price); } }}//MainActivity
package com.example.gouwuche;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;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 { private RecyclerView rcview; private CheckBox cb_all; private TextView tv_heji; private Button btn_buy; private List<GWCbean> datas; private int count=0; private int nums=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rcview = (RecyclerView) findViewById(R.id.rcview); cb_all = (CheckBox) findViewById(R.id.cb_all); tv_heji = (TextView) findViewById(R.id.tv_heji); btn_buy = (Button) findViewById(R.id.btn_buy); EventBus.getDefault().register(this); datas = new ArrayList<>(); for (int i = 0; i < 20; i++) { datas.add(new GWCbean("我是第"+i+"条数据",700+i,false)); } rcview.setLayoutManager(new LinearLayoutManager(this)); MyAdapter adapter = new MyAdapter(this, datas); rcview.setAdapter(adapter); cb_all.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { boolean b=cb_all.isChecked(); for (int i = 0; i < datas.size(); i++) { datas.get(i).setB(b); if(b){ count++; nums+=datas.get(i).getPrice(); } } btn_buy.setText("付款("+count+")"); tv_heji.setText(nums+"元"); nums=0; count=0; rcview.setLayoutManager(new LinearLayoutManager(MainActivity.this)); MyAdapter adapter = new MyAdapter(MainActivity.this, datas); rcview.setAdapter(adapter); } }); } @Subscribe public void onEvent(EventBean bean){ boolean b=bean.is_all(); datas=bean.getList(); cb_all.setChecked(b); for (int i = 0; i < datas.size(); i++) { if(datas.get(i).isB()){ count++; nums+=datas.get(i).getPrice(); } } btn_buy.setText("付款("+count+")"); tv_heji.setText(nums+"元"); nums=0; count=0; rcview.setLayoutManager(new LinearLayoutManager(MainActivity.this)); MyAdapter adapter = new MyAdapter(MainActivity.this, datas); rcview.setAdapter(adapter); } @Override protected void onDestroy() { super.onDestroy(); EventBus.getDefault().unregister(this); }}
阅读全文
0 0
- Andriodjie——简单的购物车全选反选
- 购物车的全选和反选
- 购物车全选反选
- 购物车全选+单选+反选简单逻辑实现
- 简单购物车Demo_全选+反选+商品计价
- 购物车的简单逻辑实现之全选,反选,总价的改变
- Andriodjie——二级列表实现购物车
- Andriodjie——二级列表实现购物车
- 类购物车的全选反选效果
- RecyclerView实现购物车的全选、反选功能
- android studio二级购物车的反选全选
- 二级列表购物车的全选反选
- andriodjie——mvp展示拦截器传来的数据跳转购物车
- 全选与反选_购物车
- 购物车必备全选反选
- 购物车全选,反选,结算
- 购物车,全选,反选,删除,添加
- angularjs购物车全选反选
- android-serialport-api源码(c代码部分)
- Fragment和ViewPager的替换关联
- 深圳房价教给我的三堂课
- Dijstra
- python 基础(三)一些要点回顾和字典 (和一些重点)
- Andriodjie——简单的购物车全选反选
- modelsim新建工程进行功能仿真
- 关于Unity渲染优化,你可能遇到这些问题
- mfc socket发送和接收数据和文件
- 训练GAN网络的技巧
- 计蒜客 课程规划(景驰无人驾驶1024编程邀请赛 D)
- 一分钟ECS上搭建云HBase Thriftserver
- 需要了解的相关知识
- QT安装问题