记录下今天RecyclerView单选实现
class HomeAdapter extends RecyclerView.Adapter<HomeAdapter.MyViewHolder> implements View.OnClickListener { @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { MyViewHolder holder = new MyViewHolder(LayoutInflater.from(CashInstallActivity.this).inflate(R.layout.rcycleritem, parent, false)); return holder; } @Override public void onBindViewHolder(final MyViewHolder holder, final int position) { holder.tv_qs.setText(mDatas.get(position).getFq_Qs()); holder.tv_fqje.setText(mDatas.get(position).getFq_Je()); if (position == clickPosition) { holder.rb_check.setChecked(true); //holder.iv_test.setVisibility(View.VISIBLE); } else { holder.rb_check.setChecked(false); // holder.iv_test.setVisibility(View.GONE); } //holder.relativeLayout.setTag(position); //holder.relativeLayout.setOnClickListener(this); holder.rb_check.setTag(position); holder.rb_check.setOnClickListener(this); } @Override public int getItemCount() { if (mDatas.size() > 0) { return mDatas.size(); } else { return 0; } } @Override public void onClick(View v) { switch (v.getId()) { case R.id.rl_click: Message msg = Message.obtain(); clickPosition = (Integer) v.getTag(); msg.arg1 = clickPosition; msg.what = RECYCLER_VIEW; handler.sendMessage(msg); notifyDataSetChanged(); } } class MyViewHolder extends RecyclerView.ViewHolder { TextView tv_qs; TextView tv_fqje; RadioButton rb_check; //ImageView iv_test; //RelativeLayout relativeLayout; public MyViewHolder(View itemView) { super(itemView); tv_qs = (TextView) itemView.findViewById(R.id.tv_qs); tv_fqje = (TextView) itemView.findViewById(R.id.tv_fqje); rb_check = (RadioButton) itemView.findViewById(R.id.read_tag01); //iv_test = (ImageView) itemView.findViewById(R.id.iv_test); //relativeLayout = (RelativeLayout) itemView.findViewById(R.id.rl_click); } } }这是关键的实现代码。