加减
public class JiaJian extends LinearLayout {
TextView text_jia,text_jian,text_num;
int index=0;
public JiaJian(Context context) {
super(context);
}
public JiaJian(Context context, AttributeSet attrs) {
super(context, attrs);
View view = LayoutInflater.from(context).inflate(R.layout.jiajian_layout,this);
text_jia = view.findViewById(R.id.text_jia);
text_jian = view.findViewById(R.id.text_jian);
text_num= view.findViewById(R.id.text_num);
text_jia.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
index++;
text_num.setText(index+"");
myCallBack.chuanzhi(index);
}
});
text_jian.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(index>1){
index--;
text_num.setText(index+"");
myCallBack.chuanzhi(index);
}
}
});
}
public JiaJian(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public void text_index(int index){
this.index = index;
text_num.setText(index+"");
}
MyCallBack myCallBack;
public interface MyCallBack{
public void chuanzhi(int index);
}
public void setMyCallBack(MyCallBack myCallBack) {
this.myCallBack = myCallBack;
}
}
主页
public class MainActivity extends AppCompatActivity implements ConteatInterface.ActivityFace {
List<GoodsBean.Goods> list = new ArrayList<>();
ConteatInterface.PresenterFace presenterFace;
@BindView(R.id.recycler_view)
XRecyclerView recyclerView;
@BindView(R.id.checkbox_1)
CheckBox checkbox1;
@BindView(R.id.text_zong)
TextView textZong;
private ShowAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化
ButterKnife.bind(this);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(layoutManager);
adapter = new ShowAdapter(list, this);
recyclerView.setAdapter(adapter);
presenterFace = new MyPersenter<>(this);
presenterFace.requestData();
adapter.setMyCallBack(new ShowAdapter.MyCallBack() {
@Override
public void sueccuss(List<GoodsBean.Goods> mlist) {
int sun = 0;
int ss = 0;
for (int i= 0;i< mlist.size();i++){
if (mlist.get(i).isched){
ss++;
int count = list.get(i).getCount();
double price = list.get(i).getPrice();
sun+=count*price;
}
}
if(mlist.size() == ss){
checkbox1.setChecked(true);
}else{
checkbox1.setChecked(false);
}
textZong.setText("¥"+sun);
adapter.notifyDataSetChanged();
}
});
}
@Override
public void showData(Object o) {
GoodsBean goodsBean = (GoodsBean) o;
list.addAll(goodsBean.getResult());
adapter.notifyDataSetChanged();
}
@OnClick(R.id.checkbox_1)
public void onViewClicked(){
int sun = 0;
boolean b = checkbox1.isChecked();
if (b){
for (int i = 0;i<list.size();i++){
list.get(i).isched = b;
int count = list.get(i).getCount();
double price = list.get(i).getPrice();
sun+=count*price;
}
}else{
for (int i = 0; i <list.size() ; i++) {
list.get(i).isched =b;
}
sun = 0;
}
textZong.setText("¥ "+sun);
adapter.notifyDataSetChanged();
}
@Override
protected void onDestroy() {
super.onDestroy();
presenterFace = null;
}
}
适配器
public class ShowAdapter extends RecyclerView.Adapter<ShowAdapter.Holder> {
List<GoodsBean.Goods> list;
Context context;
public ShowAdapter(List<GoodsBean.Goods> list, Context context) {
this.list = list;
this.context = context;
}
@NonNull
@Override
public Holder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(context).inflate(R.layout.showadaoter_layout,null);
return new Holder(view);
}
@Override
public void onBindViewHolder(@NonNull final Holder holder, final int i) {
holder.checkBox_2.setChecked(list.get(i).isched);
holder.text_name.setText(list.get(i).getCommodityName());
holder.text_price.setText(list.get(i).getPrice()+"");
holder.jiaJian.text_index(list.get(i).getCount());
holder.jiaJian.setMyCallBack(new JiaJian.MyCallBack() {
@Override
public void chuanzhi(int index) {
list.get(i).setCount(index);
myCallBack.sueccuss(list);
}
});
Glide.with(context).load(list.get(i).getPic()).into(holder.image_view);
holder.checkBox_2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
boolean b = holder.checkBox_2.isChecked();
list.get(i).isched=b;
myCallBack.sueccuss(list);
}
});
}
@Override
public int getItemCount() {
return list.size();
}
public class Holder extends RecyclerView.ViewHolder{
TextView text_name,text_price;
ImageView image_view;
JiaJian jiaJian;
CheckBox checkBox_2;
public Holder(@NonNull View itemView) {
super(itemView);
text_name =itemView.findViewById(R.id.text_name);
text_price =itemView.findViewById(R.id.text_price);
image_view =itemView.findViewById(R.id.image_view);
jiaJian =itemView.findViewById(R.id.jiajian);
checkBox_2 =itemView.findViewById(R.id.checkbox_2);
}
}
MyCallBack myCallBack;
public void setMyCallBack(MyCallBack myCallBack) {
this.myCallBack = myCallBack;
}
public interface MyCallBack{
public void sueccuss(List<GoodsBean.Goods> list);
}
}