适配器与Activity之间相互传值

Activity代码

package com.vimi8.app.activity;

import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import com.vimi8.app.R;
import com.vimi8.app.adapter.BoTitleAdapter;
import com.vimi8.app.framework.ActivityBase;
import com.vimi8.app.model.Dealer;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by vimi8 on 2017/6/19.
 */

public class MyBoTitleActivity extends ActivityBase {


    List<Dealer> dealers = new ArrayList<>();

    private RecyclerView recyclerView;
    private BoTitleAdapter boTitleAdapter;

    private Button guan_zhu;

    private String id = "";


    @Override
    protected void initVariables(Bundle savedInstanceState) {

    }

    @Override
    protected int initLayoutViews() {
        return R.layout.activity_my_bo_title;
    }

    @Override
    protected void initViewsAndStaticData() {
        recyclerView = (RecyclerView) findViewById(R.id.sub_container);

        guan_zhu = (Button) findViewById(R.id.guan_zhu);

        recyclerView.setLayoutManager(new GridLayoutManager(MyBoTitleActivity.this, 3));

        dealers.add(new Dealer("1","兴兴超市","http://img1.imgtn.bdimg.com/it/u=2274521812,939606891&fm=26&gp=0.jpg"));
        dealers.add(new Dealer("2","兴兴超市","http://img1.imgtn.bdimg.com/it/u=1733071988,3600838707&fm=26&gp=0.jpg"));
        dealers.add(new Dealer("3","兴兴超市","http://img2.imgtn.bdimg.com/it/u=1926648642,2525346282&fm=26&gp=0.jpg"));
        dealers.add(new Dealer("4","兴兴超市","http://img2.imgtn.bdimg.com/it/u=1926648642,2525346282&fm=26&gp=0.jpg"));
        dealers.add(new Dealer("5","兴兴超市","http://img2.imgtn.bdimg.com/it/u=1926648642,2525346282&fm=26&gp=0.jpg"));
        boTitleAdapter = new BoTitleAdapter(MyBoTitleActivity.this,dealers);
        recyclerView.setAdapter(boTitleAdapter);

        boTitleAdapter.setOnItemClickListener(new BoTitleAdapter.OnRecyclerViewItemClickListener() {
            @Override
            public void onItemClick(View view, String idList) {
                id+=idList;
            }
        });


        guan_zhu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(MyBoTitleActivity.this,id,Toast.LENGTH_LONG).show();
            }
        });



    }
}

Adapter代码

package com.vimi8.app.adapter;

import android.app.Activity;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageView;

import com.vimi8.app.R;
import com.vimi8.app.model.Dealer;
import com.vimi8.app.utils.CommonClassPlan;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by think on 2016/10/21.
 */
public class BoTitleAdapter extends RecyclerView.Adapter<BoTitleAdapter.ViewHolder> implements View.OnClickListener {

    Activity mContext;
    List<Dealer> mDatas = new ArrayList<>();
    View v;
    String idList = "";


    public BoTitleAdapter(Activity context, List<Dealer> datas) {
        mContext = context;
        mDatas = datas;
    }



    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        v = LayoutInflater
                .from(parent.getContext())
                .inflate(R.layout.item_bo, parent, false);
        v.setOnClickListener(this);
        return new ViewHolder(v);
    }



    @Override
    public void onBindViewHolder(final ViewHolder holder, int position) {
        v.setTag(holder);
        final Dealer menu = mDatas.get(position);
        CommonClassPlan.funCircleHeadImage(mContext,menu.getImg(),holder.headImg);
        holder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

                if(isChecked){
                    idList =menu.getId();
                    mOnItemClickListener.onItemClick(v,idList);
                }else {
                    idList = "";
                    mOnItemClickListener.onItemClick(v,idList);
                }

            }
        });
    }

    @Override
    public int getItemCount() {
        return mDatas.size();
    }


    
    
    private OnRecyclerViewItemClickListener mOnItemClickListener = null;
    public interface OnRecyclerViewItemClickListener {
        void onItemClick(View view, String idList);
    }
    public void setOnItemClickListener(OnRecyclerViewItemClickListener listener) {
        this.mOnItemClickListener = listener;
    }
    @Override
    public void onClick(View v) {
        if (mOnItemClickListener != null) {
            //注意这里使用getTag方法获取数据
            mOnItemClickListener.onItemClick(v,idList);
        }
    }

    

    public class ViewHolder  extends RecyclerView.ViewHolder{

        /**
         * 菜单名称
         */

        private ImageView headImg;
        private CheckBox checkBox;
        public ViewHolder(final View view) {
            super(view);
            headImg = (ImageView) view.findViewById(R.id.head_img);
            checkBox = (CheckBox) view.findViewById(R.id.checkBox);
        }
    }
}

效果图:

















  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值