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); } } }
效果图: