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();
}
}