//主xml
<?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=".MainActivity">
<LinearLayout
android:layout_marginTop="@dimen/dp_20"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="《"
android:id="@+id/fanhui"
/>
<TextView
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="购物车"
/>
<TextView
android:id="@+id/bianji"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="编辑"
android:layout_marginRight="@dimen/dp_10"
/>
</LinearLayout>
<ExpandableListView
android:id="@+id/expandableListView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:groupIndicator="@null"
android:layout_weight="1"
></ExpandableListView>
<LinearLayout
android:id="@+id/quzhifu_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bianji_chx"
/>
<TextView
android:gravity="center"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/zonjia_qian"
android:text=" 0¥"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="去支付"
android:id="@+id/quzhifu"
/>
</LinearLayout>
<LinearLayout
android:visibility="gone"
android:id="@+id/delete_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/delete_chx"
/>
<TextView
android:gravity="center"
android:layout_weight="1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/delete_quxiqao"
android:text=" 取消"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="删除"
android:id="@+id/delete"
/>
</LinearLayout>
</LinearLayout>
//加减
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="match_parent">
<Button
android:id="@+id/jia"
android:layout_width="@dimen/dp_30"
android:layout_height="wrap_content"
android:text="+"
/>
<TextView
android:id="@+id/jia_jian_shu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
/>
<Button
android:id="@+id/jian"
android:layout_width="@dimen/dp_30"
android:layout_height="wrap_content"
android:text="-"
/>
</LinearLayout>
/**
加减
* author:Created by WangZhiQiang on 2018/5/3.
*/
public class JIaJian extends LinearLayout {
private View inflate;
private Button jia;
private TextView jia_jian_shu;
private Button jian;
int i1;
private OnJiaJIan onJiaJIan;
public JIaJian(Context context) {
this(context,null);
}
public JIaJian(Context context, @Nullable AttributeSet attrs) {
this(context, attrs,0);
}
public JIaJian(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
inflate = LayoutInflater.from(context).inflate(R.layout.jia_jian, this, true);
jia = inflate.findViewById(R.id.jia);
jian = inflate.findViewById(R.id.jian);
jia_jian_shu = inflate.findViewById(R.id.jia_jian_shu);
inti();
}
public void shuZi(int ii){
this.i1=ii;
}
private void inti(){
jia.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
i1++;
Log.d("@#!3",i1+"");
jia_jian_shu.setText(i1+"");
onJiaJIan.jia(i1);
}
});
jian.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
i1--;
if(i1<=0){
i1=1;
}
Log.d("@#!2",i1+"");
jia_jian_shu.setText(i1+"");
onJiaJIan.jian(i1);
}
});
}
public interface OnJiaJIan{
void jia(Integer jia);
void jian(Integer jia);
}
public void onJiaJIan(OnJiaJIan onJiaJIan){
this .onJiaJIan=onJiaJIan;
}
}
/**
* MainActivity
*/
public class MainActivity extends AppCompatActivity implements IView<CartsBean>, IUpview , IDeleview {
@BindView(R.id.fanhui)
TextView fanhui;
@BindView(R.id.bianji_chx)
CheckBox bianjiChx;
@BindView(R.id.zonjia_qian)
TextView zonjiaQian;
@BindView(R.id.quzhifu_view)
LinearLayout quzhifuView;
@BindView(R.id.delete_chx)
CheckBox deleteChx;
@BindView(R.id.delete_quxiqao)
TextView deleteQuxiqao;
@BindView(R.id.delete)
TextView delete;
@BindView(R.id.expandableListView)
ExpandableListView expandableListView;
@BindView(R.id.delete_view)
LinearLayout deleteView;
@BindView(R.id.bianji)
TextView bianji;
private CartsPresenter cartsPresenter;
List<CartsBean.DataBean> list = new ArrayList<>();
private MyAdapter myAdapter;
private UpCartsPresenter upCartsPresenter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
EventBus.getDefault().register(this);
qingQuiShuJu();
pp();
}
/**
* 编辑
*/
public void pp(){
bianji.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String s = bianji.getText().toString();
if (s.equals("编辑")){
bianji.setText("完成");
quzhifuView.setVisibility(View.GONE);
deleteView.setVisibility(View.VISIBLE);
}else {
bianji.setText("编辑");
quzhifuView.setVisibility(View.VISIBLE);
deleteView.setVisibility(View.GONE);
}
}
});
}
/**
* 请求数据
*/
public void qingQuiShuJu() {
cartsPresenter = new CartsPresenter();
HashMap<String, String> map = new HashMap<>();
map.put("uid", "10794");
cartsPresenter.getPreset(new CartsModel(), this, map);
}
/**
* EventBus
*/
@Subscribe(threadMode = ThreadMode.MAIN)
public void evet(Integer ii) {
if (ii == 123456) {
boolean ff = true;
for (CartsBean.DataBean dataBean : list) {
List<CartsBean.DataBean.ListBean> list = dataBean.getList();
for (CartsBean.DataBean.ListBean listBean : list) {
int selected = listBean.getSelected();
int num = listBean.getNum();
int pid = listBean.getPid();
int sellerid = listBean.getSellerid();
if (selected == 0) {
ff = false;
}
updete(selected, num, pid, sellerid);
}
}
deleteChx.setChecked(ff);
bianjiChx.setChecked(ff);
jiSuan();
}
}
/**
* 计算
*/
public void jiSuan() {
int zongjia = 0;
for (CartsBean.DataBean dataBean : list) {
List<CartsBean.DataBean.ListBean> list = dataBean.getList();
for (CartsBean.DataBean.ListBean listBean : list) {
int selected = listBean.getSelected();
double pscid = listBean.getPrice();
int num = listBean.getNum();
int pid = listBean.getPid();
int sellerid = listBean.getSellerid();
if (selected == 1) {
zongjia += (int) num * pscid;
}
}
}
zonjiaQian.setText(zongjia + "¥");
}
/**
* 更换请求数据
*
* @param selected
* @param num
* @param pid
* @param sellerid
*/
public void updete(int selected, int num, int pid, int sellerid) {
HashMap<String, String> map = new HashMap<>();
map.put("uid", "10794");
map.put("num", num + "");
map.put("selected", selected + "");
map.put("pid", pid + "");
map.put("sellerid", sellerid + "");
upCartsPresenter = new UpCartsPresenter();
upCartsPresenter.getUp(new UpCartsModel(), this, map);
}
/**
* 点击事件
*
* @param view
*/
@OnClick({R.id.quzhifu, R.id.delete_view})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.quzhifu:
break;
case R.id.delete_view:
detele();
break;
}
}
/**
*删除
*
*/
public void detele(){
for (CartsBean.DataBean dataBean : list) {
for (CartsBean.DataBean.ListBean listBean : dataBean.getList()) {
int selected = listBean.getSelected();
if (selected==1){
int pid = listBean.getPid();
HashMap<String, String> map = new HashMap<>();
map.put("uid", "10794");
map.put("pid", pid+"");
DeleteCartPresenter deleteCartPresenter = new DeleteCartPresenter();
deleteCartPresenter.get(new DeleteModel(),this,map);
}
}
}
}
/**
* quzhifu全选
*/
public void qq() {
bianjiChx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean checked = bianjiChx.isChecked();
for (CartsBean.DataBean dataBean : list) {
for (CartsBean.DataBean.ListBean listBean : dataBean.getList()) {
if (checked) {
listBean.setSelected(1);
} else {
listBean.setSelected(0);
}
}
}
EventBus.getDefault().post(123456);
myAdapter.notifyDataSetChanged();
}
});
deleteChx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean checked = deleteChx.isChecked();
for (CartsBean.DataBean dataBean : list) {
for (CartsBean.DataBean.ListBean listBean : dataBean.getList()) {
if (checked) {
listBean.setSelected(1);
} else {
listBean.setSelected(0);
}
}
}
EventBus.getDefault().post(123456);
myAdapter.notifyDataSetChanged();
}
});
}
/**
* 购物车请求成功
*
* @param cartsBean
*/
@Override
public void success(CartsBean cartsBean) {
String code = cartsBean.getCode();
if (code.equals("0")) {
List<CartsBean.DataBean> data = cartsBean.getData();
list.addAll(data);
myAdapter = new MyAdapter(this, list);
expandableListView.setAdapter(myAdapter);
for (int i = 0; i < myAdapter.getGroupCount(); i++) {
expandableListView.expandGroup(i);
}
qq();
jiSuan();
}
}
/**
* 购物车请求失败
*
* @param ss
*/
@Override
public void error(String ss) {
Toast.makeText(this, ss, Toast.LENGTH_SHORT).show();
Log.d("###", ss);
}
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
if (upCartsPresenter != null) {
upCartsPresenter = null;
}
if (cartsPresenter != null) {
cartsPresenter = null;
}
}
/**
* 更改购物车请求成功
*/
@Override
public void success2(UpdateCartsBean t) {
Toast.makeText(this, t.getMsg(), Toast.LENGTH_SHORT).show();
}
/**
* 更改购物车请求失败
*/
@Override
public void error2(String ss) {
Toast.makeText(this, ss, Toast.LENGTH_SHORT).show();
Log.d("###", ss);
}
/**
*删除成功
*
*/
@Override
public void success3(DeleteCartBean t) {
list.clear();//清空集合
Toast.makeText(this, t.getMsg(), Toast.LENGTH_SHORT).show();
String code = t.getCode();
if (code.equals("0")){
qingQuiShuJu();
}
}
/**
*删除失败
*
*/
@Override
public void error3(String ss) {
}
}