MinActivity
package com.bw.myapplication2;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import com.bw.myapplication2.Adapter.MyAdapter;
import com.bw.myapplication2.Api.Api;
import com.bw.myapplication2.Bean.Bean;
import com.bw.myapplication2.Presenter.Presenter;
import com.bw.myapplication2.View.View;
import java.util.List;
public class MainActivity<T> extends AppCompatActivity implements View<T> {
private Presenter presenter;
private RecyclerView recycler_Shoppingcar;
private CheckBox checkAll;
private TextView shop_prices;
private Button star;
private List<Bean.DataBean> data;
private MyAdapter myAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
star.setOnClickListener(new android.view.View.OnClickListener() {
@Override
public void onClick(android.view.View v) {
Intent intent = new Intent(MainActivity.this, Main2Activity.class);
startActivity(intent);
}
});
presenter = new Presenter(this);
presenter.OnAttachView(this);
presenter.getPresenterData(Api.show, null, null, null, 1);
}
@Override
public void onsuess(final T result1) {
if (result1 instanceof Bean) {
Bean bean = (Bean) result1;
data = bean.getData();
Log.i("ddd", data.size() + "");
myAdapter = new MyAdapter(R.layout.item, data);
myAdapter.setContext(this);
recycler_Shoppingcar.setLayoutManager(new LinearLayoutManager(this));
recycler_Shoppingcar.setAdapter(myAdapter);
myAdapter.setOnBussionClickListen(new MyAdapter.BussionCallBack() {
@Override
public void bussionClick() {
boolean result=true;
for (int i = 0; i < data.size(); i++) {
boolean fucheck = data.get(i).getFucheck();
result=result&fucheck;
for (int j = 0; j < data.get(i).getList().size(); j++) {
boolean zicheck = data.get(i).getList().get(j).getZicheck();
result=result&zicheck;
}
}
checkAll.setChecked(result);
catMoney();
myAdapter.notifyDataSetChanged();
}
});
checkAll.setOnClickListener(new android.view.View.OnClickListener() {
@Override
public void onClick(android.view.View v) {
for (int i = 0; i < data.size(); i++) {
data.get(i).setFucheck(checkAll.isChecked());
for (int j = 0; j < data.get(i).getList().size(); j++) {
data.get(i).getList().get(j).setZicheck(checkAll.isChecked());
}
}
catMoney();
myAdapter.notifyDataSetChanged();
}
});
}
}
public void catMoney(){
double totalCount=0;
for (int i = 0; i <data.size() ; i++) {
for (int j = 0; j < data.get(i).getList().size(); j++) {
if (data.get(i).getList().get(j).getZicheck()==true){
double price = data.get(i).getList().get(j).getPrice();
int myziNUm = data.get(i).getList().get(j).getNum();
double v=price*myziNUm;
totalCount=totalCount+v;
}
}
}
shop_prices.setText(totalCount+"");
myAdapter.notifyDataSetChanged();
}
@Override
public void onfanal(T error) {
}
@Override
protected void onDestroy() {
super.onDestroy();
presenter.OnDeachView();
}
private void initView() {
recycler_Shoppingcar = (RecyclerView) findViewById(R.id.recycler_Shoppingcar);
checkAll = (CheckBox) findViewById(R.id.checkAll);
shop_prices = (TextView) findViewById(R.id.shop_prices);
star = (Button) findViewById(R.id.star);
}
}
商家适配器
package com.bw.myapplication2.Adapter;
import android.content.Context;
import android.support.annotation.Nullable;
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 com.bw.myapplication2.Bean.Bean;
import com.bw.myapplication2.R;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import java.util.List;
public class MyAdapter extends BaseQuickAdapter<Bean.DataBean,BaseViewHolder> {
Context context;
private List<Bean.DataBean.ListBean> list;
BussionCallBack bussionClickListen;
public interface BussionCallBack{
public void bussionClick();
}
public void setOnBussionClickListen(BussionCallBack bussionClickListen){
this.bussionClickListen=bussionClickListen;
}
public MyAdapter(int layoutResId, @Nullable List<Bean.DataBean> data) {
super(layoutResId, data);
}
public void setContext(Context context) {
this.context = context;
}
@Override
protected void convert(BaseViewHolder helper, final Bean.DataBean item) {
RecyclerView recyclerView = helper.getView(R.id.zirecyclerView);
final CheckBox fu_check = helper.getView(R.id.fu_check);
final TextView title = helper.getView(R.id.title);
title.setText(item.getSellerName()+"");
recyclerView.setLayoutManager(new LinearLayoutManager(context,LinearLayoutManager.VERTICAL,false));
list = item.getList();
final MyAdapterS myAdapterS = new MyAdapterS(R.layout.zi_item, list);
recyclerView.setAdapter(myAdapterS);
fu_check.setOnCheckedChangeListener(null);
fu_check.setChecked(item.getFucheck());
fu_check.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
for (int i = 0; i < item.getList().size(); i++) {
item.getList().get(i).setZicheck(fu_check.isChecked());
}
item.setFucheck(fu_check.isChecked());
myAdapterS.notifyDataSetChanged();
bussionClickListen.bussionClick();
}
});
myAdapterS.setGoodsClickListen(new MyAdapterS.GoodsCallBack() {
@Override
public void GoodsClick() {
boolean result=true;
for (int i = 0; i <item.getList().size(); i++) {
boolean zicheck = item.getList().get(i).getZicheck();
result=result&zicheck;
}
item.setFucheck(result);
myAdapterS.notifyDataSetChanged();
bussionClickListen.bussionClick();
}
});
}
}
商品适配器
在这里插入代码片
package com.bw.myapplication2.Adapter;
import android.net.Uri;
import android.support.annotation.Nullable;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.TextView;
import com.bw.myapplication2.Bean.Bean;
import com.bw.myapplication2.R;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.facebook.drawee.view.SimpleDraweeView;
import java.util.List;
public class MyAdapterS extends BaseQuickAdapter<Bean.DataBean.ListBean,BaseViewHolder> {
public interface GoodsCallBack{
public void GoodsClick();
}
GoodsCallBack goodsClickListen;
public void setGoodsClickListen(GoodsCallBack goodsClickListen) {
this.goodsClickListen = goodsClickListen;
}
public MyAdapterS(int layoutResId, @Nullable List<Bean.DataBean.ListBean> data) {
super(layoutResId, data);
}
@Override
protected void convert(BaseViewHolder helper, final Bean.DataBean.ListBean item) {
Button jia = helper.getView(R.id.jia);
final TextView nums = helper.getView(R.id.nums);
Button jian = helper.getView(R.id.jian);
nums.setText(item.getNum()+"");
final CheckBox checkBox = helper.getView(R.id.shop_check);
SimpleDraweeView image = helper.getView(R.id.shop_image);
TextView price = helper.getView(R.id.shop_price);
TextView shop_title= helper.getView(R.id.shop_title);
checkBox.setOnCheckedChangeListener(null);
checkBox.setChecked(item.getZicheck());
Uri parse = Uri.parse(item.getImages());
image.setImageURI(parse);
price.setText(item.getPrice()+"");
shop_title.setText(item.getTitle());
checkBox.setOnCheckedChangeListener(null);
checkBox.setChecked(item.getZicheck());
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
item.setZicheck(isChecked);
goodsClickListen.GoodsClick();
}
});
jia.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String s = nums.getText().toString();
int i = Integer.parseInt(s);
i=i+1;
item.setNum(i);
goodsClickListen.GoodsClick();
}
});
jian.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String s = nums.getText().toString();
int i = Integer.parseInt(s);
i=i-1;
if (i<0){
i=0;
item.setNum(i);
}
item.setNum(i);
goodsClickListen.GoodsClick();
}
});
}
}
6.0动态权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.CAMERA"/>
img.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(Build.VERSION.SDK_INT>=23){
String[] mPermissionList = new String[]{Manifest.permission.CAMERA};
ActivityCompat.requestPermissions(getActivity(),mPermissionList,123);
}
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, 2);
// mPopWindow.dismiss();
}
});