如何取消选中我的所有复选框

时间:2012-06-23 07:01:32

标签: java android

我正在努力取消选中我所有的复选框选择

通过使用此代码按下我的java android程序中的任何按钮

public void onListItemClick(ListView parent, View v, int position, long id)
 {
        parent.setItemChecked(position, parent.isItemChecked(position));
 }


 @Override
 protected  Dialog onCreateDialog(int id, Bundle args){
    switch(id){
    case 1:
        return new AlertDialog.Builder(this)
        .setIcon(R.drawable.ic_launcher)
        .setTitle("This is a dialog with some simple text...")
        .setPositiveButton("OK", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton)
            {
                Toast.makeText(getBaseContext(),"OK clicked!", Toast.LENGTH_SHORT).show();
            }})

        .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton)
            {
                Toast.makeText(getBaseContext(),"Cancel clicked!", Toast.LENGTH_SHORT).show();
            }
            })

        .setMultiChoiceItems(items, itemsChecked, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                Toast.makeText(getBaseContext(),items[which] + (isChecked ? " checked!":" unchecked!"),Toast.LENGTH_SHORT).show();
            }
            })
        .create();
        }
        return(null);
    }

如何选择全部并取消全选?

1 个答案:

答案 0 :(得分:2)

好吧,我最好的猜测是在列表中保存所有这些参考,并通过所有这些参考选择或取消全部。这样的事情。

Crete引用以保存所有复选框

List<CheckBox> myCheckBoxes = new ArrayList<CheckBox>();
myCheckBoxes.add(cb1);
myCheckBoxes.add(cb2);
myCheckBoxes.add(cb3);
....

创建一个方法,该方法将获取您要在复选框上设置的值,并随时调用它。 :

private checkAll(boolean value) {
    for(CheckBox cb : myCheckBoxes) {
        cb.setChecked(value);
    }
}

创建两个按钮:

Button unselectAllButton = (Button) findViewById(R.id.unCheckButton);
Button selectAllButton = (Button) findViewById(R.id.checkButton);

unselectAllButton.setOnClickListener(setOnClickListener(new OnClickListener() {
   public void onClick(View v) {
       checkAll(false); 
   }
});

selectAllButton.setOnClickListener(setOnClickListener(new OnClickListener() {
   public void onClick(View v) {
       checkAll(true); 
   }
});