Listview中CheckBox全选

xiaoxiao2021-02-27  145

主界面:

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;     } }

转载请注明原文地址: https://www.6miu.com/read-14355.html

最新回复(0)