//在主布局里
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="全选"
android:onClick="btnSelectAllList"
/>
<Button
android:id="@+id/button4"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="反选"
android:onClick="btnfanxuanList"
/>
//子布局
<CheckBox android:id="@+id/checkbox_operate_data" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_margin="6dp" />
//Bean包里需要 添加
public boolean isCheck;
//在RecyclerView的适配器添加的
package com.bwie.nainxi; import android.content.Context; 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.TextView; import com.bwie.nainxi.bean.Bean; import java.util.List; import java.util.Map; /** * Created by shenhao on 2016/11/23. */ public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.MyViewHolder> { /** * autour: 沈浩 * date: 2016/11/23 20:32 * update: 2016/11/23 */ private List<Bean> list; private Context context;public Map<Integer, String> selected;public boolean flage=true; public RecyclerViewAdapter(List<Bean> list, Context context, Map<Integer, String> selected) { this.list = list; this.context = context; this.selected = selected; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { MyViewHolder holder = new MyViewHolder(LayoutInflater.from( context).inflate(R.layout.item, parent, false)); return holder; } @Override public void onBindViewHolder(MyViewHolder holder, final int position) { holder.tv_context.setText(list.get(position).getContent()); holder.tv_time.setText(list.get(position).getUpdatetime());final Bean bean=list.get(position); if (bean!=null) { if (flage) { holder.box.setVisibility(View.VISIBLE); } else{ holder.box.setVisibility(View.GONE); } holder.box.setChecked(bean.isCheck); holder.box.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (bean.isCheck) { bean.isCheck=false; } else { bean.isCheck=true; } } }); } } @Override public int getItemCount() { return list.size(); } class MyViewHolder extends RecyclerView.ViewHolder{ private final CheckBox box; TextView tv_context, tv_time; public MyViewHolder(View itemView) { super(itemView); tv_time= (TextView) itemView.findViewById(R.id.tv_context); tv_context = (TextView) itemView.findViewById(R.id.tv_time);box =(CheckBox)itemView.findViewById(R.id.checkbox_operate_data); } } }
//主Activity
private Map<Integer, String> selected;
public void btnSelectAllList(View view) { if (adapter.flage) { for (int i = 0; i < list.size(); i++) { list.get(i).isCheck = true; } adapter.notifyDataSetChanged(); } } public void btnfanxuanList(View view) { if (adapter.flage) { for (int i = 0; i < list.size(); i++) { if (list.get(i).isCheck) { list.get(i).isCheck = false; } else { list.get(i).isCheck = true; } } adapter.notifyDataSetChanged(); } }