二级列表仿购物车
2017-10-22 19:58
369 查看
//主布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.happy.monigwc.MainActivity">
<android.support.v7.widget.RecyclerView
android:id="@+id/rcview"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"></android.support.v7.widget.RecyclerView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="45dp">
<CheckBox
android:id="@+id/cb_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp"
android:text="全选"/>
<TextView
android:id="@+id/tv_heji"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"/>
<Button
android:id="@+id/btn_buy"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:textColor="#fff"
android:textStyle="bold"
android:text="付款(0)"
android:background="#f00"/>
</LinearLayout>
</LinearLayout>
//item布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="60dp"
tools:context="com.happy.monigwc.MainActivity">
<CheckBox
android:id="@+id/cb_goods"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="5dp" />
<ImageView
android:id="@+id/iv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"
android:background="@mipmap/ic_launcher"/>
<LinearLayout
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="5dp"/>
<TextView
android:id="@+id/tv_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"/>
</LinearLayout>
</LinearLayout>
//MainActivity
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 = (Butto
4000
n) findViewById(R.id.btn_buy);
EventBus.getDefault().register(this);
//实例化一个集合做为recyclerview的模拟数据
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);
}
//GWBean
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;
}
//EvenBean
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;
}
相关文章推荐
- Android二级列表仿购物车布局
- android二级列表购物车
- ExpandableListView实现二级列表购物车
- 二级列表实现购物车添加购物车
- 购物车二级列表
- 二级列表购物车++
- 购物车二级列表适配器
- Android_二级列表购物车之增删改查,全选反选,加减器,价钱数量计算
- 二级列表购物车
- 购物车二级列表的逻辑
- 二级列表购物车
- 二级列表的购物车-适配器
- RecyclerView 购物车 二级列表
- 购物车二级列表演示
- 购物车二级列表的完美实现
- android购物车二级列表实现+MVP+Okhttp
- 二级列表购物车
- 简单实现 二级列表购物车(固定数据)
- 二级列表RecyclerView购物车
- 二级列表+购物车布局