购物车主页面

package com.bwie.shopcar.activity;

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.EditText;
import android.widget.TextView;
import android.widget.Toast;

import com.bwie.shopcar.R;
import com.bwie.shopcar.adapter.MyAdapter;
import com.bwie.shopcar.bean.News;
import com.bwie.shopcar.bean.bean1;
import com.bwie.shopcar.liu.LiuShi;
import com.bwie.shopcar.mvp.icroct;
import com.bwie.shopcar.mvp.ipersenterimp;
import com.google.gson.Gson;

import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity implements icroct.iview {

private ipersenterimp ipersenterimp;
private RecyclerView rec;
private News news;
private List<News.DataBean> data;
private MyAdapter adapter;
private CheckBox cb_01;
private TextView zj;
private View qingkong;
private List<String> list=new ArrayList<>();
private LiuShi liushi;
private EditText sousuo;
private Button sousuo_btn;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ipersenterimp = new ipersenterimp();
    ipersenterimp.attach(this);
    ipersenterimp.requestinfo();
    rec = findViewById(R.id.rec);
    cb_01 = findViewById(R.id.cb_01);
    zj = findViewById(R.id.zj);

    EventBus.getDefault().register(this);//注册eventbus–

}

@Override
public void data(final String s) {
       runOnUiThread(new Runnable() {
           @Override
           public void run() {
               Gson gson = new Gson();
               news = gson.fromJson(s, News.class);
               data = news.getData();
               Toast.makeText(MainActivity.this, "data:" + data, Toast.LENGTH_SHORT).show();
               LinearLayoutManager manager = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.VERTICAL, false);
               rec.setLayoutManager(manager);
               adapter = new MyAdapter(MainActivity.this, data);
               rec.setAdapter(adapter);

                //流式布局
               qingkong = findViewById(R.id.qingkong);
               liushi = findViewById(R.id.liushi);
               sousuo = findViewById(R.id.sousuo);
               sousuo_btn = findViewById(R.id.sousuo_btn);
               qingkong.setOnClickListener(new View.OnClickListener() {
                   @Override
                   public void onClick(View view) {
                       list.clear();

                       liushi.removeAllViews();
                   }
               });

               sousuo_btn.setOnClickListener(new View.OnClickListener() {
                   @Override
                   public void onClick(View view) {
                       String st= sousuo.getText().toString();
                       list.add(st);
                       liushi.removeAllViews();
                       for (int i=0;i<list.size();i++){

                           TextView tv=new TextView(MainActivity.this);
                           tv.setText(list.get(i));
                           liushi.addView(tv);
                       }
                       liushi.setPadding(5,5,5,5);
                   }
               });



               //全选 来控制商家跟条目
               adapter.setOnclickchangelisten(new MyAdapter.onclickchangelisten() {
                   @Override
                   public void onchecked(int layoutPosition, boolean checked) {
                       boolean b=true;
                       for (int i = 0; i < news.getData().size(); i++) {
                           boolean outchecked = news.getData().get(i).isOutchecked();
                           for (int j = 0; j < news.getData().get(i).getList().size(); j++) {
                               boolean innerchecked = news.getData().get(i).getList().get(j).isInnerchecked();
                               b=(b&outchecked&innerchecked);
                           }
                       }
                       cb_01.setChecked(b);
                       adapter.notifyDataSetChanged();
                   }

                   @Override
                   public void onitemchecked(int layoutPosition, boolean ischecked) {
                         //设置外层的选中状态
                       news.getData().get(layoutPosition).setOutchecked(ischecked);
                       boolean b=true;
                       for (int i = 0; i < news.getData().size(); i++) {
                           boolean outchecked = news.getData().get(i).isOutchecked();
                           for (int j = 0; j < news.getData().get(i).getList().size(); j++) {
                               boolean innerchecked = news.getData().get(i).getList().get(j).isInnerchecked();
                               b=(b&outchecked&innerchecked);
                           }
                       }
                       cb_01.setChecked(b);
                       adapter.notifyDataSetChanged();
                   }
               });

               //全选的点击按钮
               cb_01.setOnClickListener(new View.OnClickListener() {
                   @Override
                   public void onClick(View v) {
                       if (cb_01.isChecked()){
                           for (int i = 0; i < news.getData().size(); i++) {
                               news.getData().get(i).setOutchecked(true);
                               for (int j = 0; j < news.getData().get(i).getList().size(); j++) {
                                   news.getData().get(i).getList().get(j).setInnerchecked(true);
                               }
                           }
                       }
                       else {
                           for (int i = 0; i < news.getData().size(); i++) {
                               news.getData().get(i).setOutchecked(false);
                               for (int j = 0; j < news.getData().get(i).getList().size(); j++) {
                                   news.getData().get(i).getList().get(j).setInnerchecked(false);
                               }
                           }
                       }
                       initzong();
                       adapter.notifyDataSetChanged();
                   }

           });

           }


       });
}
@Override
protected void onDestroy() {
    super.onDestroy();
    ipersenterimp.datach(this);
    EventBus.getDefault().unregister(this);//解注
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void  msg(bean1 ha){
    initzong();
}



private void initzong() {
    int zong=0;
    for (int i = 0; i < news.getData().size(); i++) {
        for (int j = 0; j < news.getData().get(i).getList().size(); j++) {
            if (news.getData().get(i).getList().get(j).isInnerchecked()){
                zong+=news.getData().get(i).getList().get(j).getNum()*news.getData().get(i).getList().get(j).getPrice();
            }
        }
    }
    zj.setText(zong+"元");
    adapter.notifyDataSetChanged();
}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值