public class MainActivity extends AppCompatActivity implements DataView ,MyAdapter.NumInterface {
String dataUrl ="https://www.zhaoapi.cn/product/getProducts?pscid=1";
List<ShopingBean.DataBean> list;
MyAdapter adapter;
int totalPrice =0; //总价
int totalNum = 0; //总个数
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
list = (List<ShopingBean.DataBean>) msg.obj;
adapter = new MyAdapter(MainActivity.this,list);
lv.setAdapter(adapter);
adapter.setShoping(MainActivity.this);
}
};
private ListView lv;
private TextView tv_totalPrice;
private CheckBox cb_all;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cb_all = findViewById(R.id.cb);
lv = findViewById(R.id.lv);
//设置总价钱
tv_totalPrice = findViewById(R.id.tv_totalPrice);
//lv.setAdapter();
MyDataPresenter presenter = new MyDataPresenter(this);
presenter.netWork(dataUrl);
//全选的一个操作
cb_all.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (cb_all.isChecked()){ //如果为true,让其全部选中
for (int x=0;x<list.size();x++){
list.get(x).setCheck(true);
}
adapter.notifyDataSetChanged();
}else{//如果不false,让其全部不选中
for (int x=0;x<list.size();x++){
list.get(x).setCheck(false);
}
adapter.notifyDataSetChanged();
}
//总价变
changePrice();
}
});
}
//子线程里面
@Override
public void toBackHome(List<ShopingBean.DataBean> list) {
Message msg = new Message();
msg.obj= list;
handler.sendMessage(msg);
}
///
@Override
public void jiaNum(int position, TextView tv, Boolean isCheck) {
//得到数量
int currentNum = list.get(position).getSellerid();
//数量进行加加
currentNum++;
//把数量设置到bean里面去
list.get(position).setSellerid(currentNum);
//刷新数据
adapter.notifyDataSetChanged();
//变总价
changePrice();
}
/**
* 改变总价
*/
private void changePrice() {
totalPrice =0;
totalNum = 0;
for (int x=0;x<list.size();x++){
ShopingBean.DataBean dataBean = list.get(x);
if (dataBean.getCheck()){
//总价进行加加,个数进行加加
totalNum++;
totalPrice+=list.get(x).getPrice()*list.get(x).getSellerid();
}
}
//设置总价
tv_totalPrice.setText(totalPrice+"");
}
@Override
public void jianNum(int position,TextView tv,Boolean isCheck) {
//得到数量
int currentNum = list.get(position).getSellerid();
//减到1 就不让其减
if (currentNum==1){
return;
}
//数量进行加加
currentNum--;
//把数量设置到bean里面去
list.get(position).setSellerid(currentNum);
//刷新数据
adapter.notifyDataSetChanged();
//变总价
changePrice();
}
/**
* checkBox的选中
*/
@Override
public void groupCheck(int position,boolean isCheck) {
ShopingBean.DataBean dataBean = list.get(position);
//设置checkBox的状态
dataBean.setCheck(isCheck);
changePrice();
}
}
String dataUrl ="https://www.zhaoapi.cn/product/getProducts?pscid=1";
List<ShopingBean.DataBean> list;
MyAdapter adapter;
int totalPrice =0; //总价
int totalNum = 0; //总个数
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
list = (List<ShopingBean.DataBean>) msg.obj;
adapter = new MyAdapter(MainActivity.this,list);
lv.setAdapter(adapter);
adapter.setShoping(MainActivity.this);
}
};
private ListView lv;
private TextView tv_totalPrice;
private CheckBox cb_all;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cb_all = findViewById(R.id.cb);
lv = findViewById(R.id.lv);
//设置总价钱
tv_totalPrice = findViewById(R.id.tv_totalPrice);
//lv.setAdapter();
MyDataPresenter presenter = new MyDataPresenter(this);
presenter.netWork(dataUrl);
//全选的一个操作
cb_all.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (cb_all.isChecked()){ //如果为true,让其全部选中
for (int x=0;x<list.size();x++){
list.get(x).setCheck(true);
}
adapter.notifyDataSetChanged();
}else{//如果不false,让其全部不选中
for (int x=0;x<list.size();x++){
list.get(x).setCheck(false);
}
adapter.notifyDataSetChanged();
}
//总价变
changePrice();
}
});
}
//子线程里面
@Override
public void toBackHome(List<ShopingBean.DataBean> list) {
Message msg = new Message();
msg.obj= list;
handler.sendMessage(msg);
}
///
@Override
public void jiaNum(int position, TextView tv, Boolean isCheck) {
//得到数量
int currentNum = list.get(position).getSellerid();
//数量进行加加
currentNum++;
//把数量设置到bean里面去
list.get(position).setSellerid(currentNum);
//刷新数据
adapter.notifyDataSetChanged();
//变总价
changePrice();
}
/**
* 改变总价
*/
private void changePrice() {
totalPrice =0;
totalNum = 0;
for (int x=0;x<list.size();x++){
ShopingBean.DataBean dataBean = list.get(x);
if (dataBean.getCheck()){
//总价进行加加,个数进行加加
totalNum++;
totalPrice+=list.get(x).getPrice()*list.get(x).getSellerid();
}
}
//设置总价
tv_totalPrice.setText(totalPrice+"");
}
@Override
public void jianNum(int position,TextView tv,Boolean isCheck) {
//得到数量
int currentNum = list.get(position).getSellerid();
//减到1 就不让其减
if (currentNum==1){
return;
}
//数量进行加加
currentNum--;
//把数量设置到bean里面去
list.get(position).setSellerid(currentNum);
//刷新数据
adapter.notifyDataSetChanged();
//变总价
changePrice();
}
/**
* checkBox的选中
*/
@Override
public void groupCheck(int position,boolean isCheck) {
ShopingBean.DataBean dataBean = list.get(position);
//设置checkBox的状态
dataBean.setCheck(isCheck);
changePrice();
}
}