适配器与Activity之间相互传值

来源:互联网 发布:剑雨江湖进阶数据2017 编辑:程序博客网 时间:2024/06/05 15:51

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 2
原创粉丝点击