主界面:
public class MainActivity extends AppCompatActivity {
private ListView listView; private Button button; private MyAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.listview); button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { adapter.checkall(); } }); adapter = new MyAdapter(); listView.setAdapter(adapter); } class MyAdapter extends BaseAdapter{ private ArrayList<Mess> list = new ArrayList<Mess>(); public MyAdapter(){ for (int i=1;i<50;i++){ list.add(new Mess("这是条目"+i)); } } public void checkall() { for (Mess m:list){ m.ischeck = true; } notifyDataSetChanged(); } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if(convertView == null){ convertView = View.inflate(MainActivity.this,R.layout.item,null); holder = new ViewHolder(); holder.checkBox = (CheckBox) convertView.findViewById(R.id.checkBox); convertView.setTag(holder); }else { holder = (ViewHolder) convertView.getTag(); } final Mess msg = list.get(position); holder.checkBox.setTag(msg.string); holder.checkBox.setChecked(msg.ischeck); holder.checkBox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(msg.ischeck){ msg.ischeck = false; }else { msg.ischeck = true; } } }); return convertView; } } class ViewHolder{ CheckBox checkBox; }}
Message类:
public class Mess { public boolean ischeck; public String string; public Mess(String string){ this.string = string; } }
