//activity
private ExpandableListView exx;
private Myadapter myadapter;
private CheckBox cax;
private Bengowu bengowu;
private TextView zo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
//总价
zo = findViewById(R.id.zonja);
//复选框
cax = findViewById(R.id.chax_act2);
//2级表
exx = findViewById(R.id.expandble);
//去掉前边的箭头
exx.setGroupIndicator(null);
//吊presenter
Mypresenter mypresenter = new Mypresenter(null, null);
mypresenter.gwce(new Mymodle(),this);
//复选框点击事件
cax.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CheckBox cc= (CheckBox) view;
boolean checked = cc.isChecked();
cax.setChecked(checked);
List<Bengowu.DataBean> data = bengowu.getData();
for (int i=0;i<data.size();i++){
boolean fal = data.get(i).getFal();
List<Bengowu.DataBean.ListBean> list = data.get(i).getList();
for (int j = 0; j <list.size() ; j++) {
boolean fal1 = list.get(j).getFal();
if (fal){
data.get(i).setFal(!fal);
list.get(j).setFal(!fal);
}else {
list.get(j).setFal(!fal1);
data.get(i).setFal(!fal);
}
}
}
myadapter.notifyDataSetChanged();
zongjia();
}
});
}
//总价方法
public void zongjia(){
int zz=0;
List<Bengowu.DataBean> data = bengowu.getData();
for (int i=0;i<data.size();i++){
List<Bengowu.DataBean.ListBean> list = data.get(i).getList();
for (int j = 0; j <list.size() ; j++) {
boolean fal1 = list.get(j).getFal();
if (fal1){
int price = list.get(j).getPrice();
zz+=price;
}
}
}
zo.setText(zz+"");
}
//网络请求成功方
@Override
public void ceng(final Bengowu bengowu) {
this.bengowu=bengowu;
//适配器
myadapter = new Myadapter(this, bengowu,this);
exx.setAdapter(myadapter);
//展开列表
for(int i = 0; i < myadapter.getGroupCount(); i++){
exx.expandGroup(i);
}
zongjia();
}
//网络请求失败方
@Override
public void shib(String ss) {
Toast.makeText(Main2Activity.this,"失败了",Toast.LENGTH_SHORT).show();
}
//计算
@Override
public void jisuan(int ii) {
zo.setText(ii+"");
}
//适配器
public class Myadapter extends BaseExpandableListAdapter {
private final Bengowu bengowu;
private final Context context;
private final Main2Activity main2Activity;
Myfu myfu;
int ppp=0;
private CCcc cCcc;
public Myadapter(Context context, Bengowu bengowu,Main2Activity main2Activity){
this.context=context;
this.bengowu=bengowu;
this.main2Activity=main2Activity;
}
@Override
public int getGroupCount() {
return bengowu.getData().size();
}
@Override
public int getChildrenCount(int i) {
return bengowu.getData().get(i).getList().size();
}
@Override
public Object getGroup(int i) {
return bengowu.getData().get(i);
}
@Override
public Object getChild(int i, int i1) {
return bengowu.getData().get(i).getList().get(i1);
}
@Override
public long getGroupId(int i) {
return i;
}
@Override
public long getChildId(int i, int i1) {
return i1;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public View getGroupView(final int i, boolean b, View view, ViewGroup viewGroup) {
if (view==null){
view=View.inflate(context,R.layout.list,null);
myfu = new Myfu();
view.setTag(myfu);
}else {
myfu= (Myfu) view.getTag();
}
myfu.chx=view.findViewById(R.id.chx);
myfu.tv_lst=view.findViewById(R.id.tv_lst);
myfu.tv_lst.setText(bengowu.getData().get(i).getSellerName());
final Bengowu.DataBean dataBean = bengowu.getData().get(i);
List<Bengowu.DataBean.ListBean> list = dataBean.getList();
for (int j = 0; j < list.size(); j++) {
Bengowu.DataBean.ListBean listBean = list.get(j);
boolean fal = listBean.getFal();
if (!fal){
bengowu.getData().get(i).setFal(false);
}
}
//给
myfu.chx.setChecked(bengowu.getData().get(i).getFal());
myfu.chx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CheckBox view1 = (CheckBox) view;
boolean checked = view1.isChecked();
dataBean.setFal(checked);
List<Bengowu.DataBean.ListBean> list = dataBean.getList();
if (checked){
for (int j = 0; j < list.size(); j++) {
Bengowu.DataBean.ListBean listBean = list.get(j);
listBean.setFal(true);
int price = listBean.getPrice();
ppp+=price;
}
}else {
for (int j = 0; j < list.size(); j++) {
Bengowu.DataBean.ListBean listBean = list.get(j);
listBean.setFal(false);
}
}
notifyDataSetChanged();
Mypresenter mypresenter = new Mypresenter(null, null);
mypresenter.ddss(bengowu,main2Activity);
}
});
return view;
}
@Override
public View getChildView(final int i, final int i1, boolean b, View view, ViewGroup viewGroup) {
final Myzi myzi;
if (view==null){
view=View.inflate(context,R.layout.list2,null);
myzi = new Myzi();
view.setTag(myzi);
}else {
myzi= (Myzi) view.getTag();
}
myzi.chx_li2=view.findViewById(R.id.chx_li2);
myzi.img_lvl=view.findViewById(R.id.img_lvl);
myzi.name_li2=view.findViewById(R.id.name_li2);
myzi.paren=view.findViewById(R.id.paren);
Bengowu.DataBean dataBean = bengowu.getData().get(i);
final List<Bengowu.DataBean.ListBean> list = dataBean.getList();
String images = list.get(i1).getImages();
String[] split = images.split(".jpg");
// Glide.with(context).load(split[0]+".jpg").into( myzi.img_lv);
myzi.img_lvl.setImageResource(R.mipmap.ic_launcher);
myzi.name_li2.setText(list.get(i1).getTitle());
myzi.paren.setText(list.get(i1).getPrice()+"");
myzi.chx_li2.setChecked(list.get(i1).getFal());
myzi.chx_li2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CheckBox ff = (CheckBox) view;
boolean checked = ff.isChecked();
myzi.chx_li2.setChecked(checked);
list.get(i1).setFal(checked);
Toast.makeText(context,checked+"",Toast.LENGTH_SHORT).show();
notifyDataSetChanged();
Mypresenter mypresenter = new Mypresenter(null, null);
mypresenter.ddss(bengowu,main2Activity);
}
});
return view;
}
@Override
public boolean isChildSelectable(int i, int i1) {
return false;
}
class Myfu {
CheckBox chx;
TextView tv_lst;
}
class Myzi{
CheckBox chx_li2;
ImageView img_lvl;
TextView name_li2;
TextView paren;
}
}