package movie.bw.com.week2moni;
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.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;
import java.util.List;
import butterknife.BindView;
import movie.bw.com.week2moni.adapter.MyAdapter;
import movie.bw.com.week2moni.bean.Goods;
import movie.bw.com.week2moni.bean.Result;
import movie.bw.com.week2moni.core.BaseActivity;
import movie.bw.com.week2moni.core.DataCall;
import movie.bw.com.week2moni.persenter.ShopPersenter;
public class MainActivity extends BaseActivity {
@BindView(R.id.recycle)
RecyclerView recycle;
MyAdapter myAdapter;
private CheckBox checkall;
private TextView price;
private ShopPersenter shopPersenter;
@Override
protected void initView(Bundle savedInstanceState) {
checkall = findViewById(R.id.checkall);
price = findViewById(R.id.price);
shopPersenter = new ShopPersenter(new ShopCall());
shopPersenter.requestData("159","1557736557381159");
myAdapter = new MyAdapter(this);
recycle.setAdapter(this.myAdapter);
LinearLayoutManager manager = new LinearLayoutManager(this);
manager.setOrientation(LinearLayoutManager.VERTICAL);
recycle.setLayoutManager(manager);
myAdapter.setPriceListener(new MyAdapter.PriceListener() {
@Override
public void priceListener(double sum) {
price.setText(sum+"");
}
});
checkall.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
List<Goods> goodslist = myAdapter.getList();
for (int i=0;i<goodslist.size();i++){
Goods goods = goodslist.get(i);
goods.check=isChecked;
}
myAdapter.calculatePrice();
myAdapter.notifyDataSetChanged();
}
});
}
@Override
protected int getLayoutId() {
return R.layout.activity_main;
}
class ShopCall implements DataCall<List<Goods>> {
@Override
public void success(List<Goods> data, Object... args) {
myAdapter.addAll(data);
myAdapter.calculatePrice();
myAdapter.notifyDataSetChanged();
}
@Override
public void fail(Result data, Object... args) {
}
}
@Override
protected void onDestroy() {
super.onDestroy();
shopPersenter.doStory();
}
}