二级购物车(RecycleView) +6.0动态权限

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);
        //得到Actytity设置的布尔值
        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.ACTION_PICK 这个对应的就是图库
                Intent intent = new Intent(Intent.ACTION_PICK);
                // 第四步:设置显式MIME数据类型
                intent.setType("image/*");
                // 第五步:跳转回
                startActivityForResult(intent, 2);
                // mPopWindow.dismiss();
            }
        });
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值