2

我试图取消选择我所有的复选框选择但没有成功

通过使用此代码按下我的 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);
    }

如何全选和取消全选?

4

1 回答 1

2

好吧,我最好的猜测是将所有这些参考保存在一个列表中,然后通过所有这些选择或取消选择它们。像这样的东西。

克里特岛引用来保存你所有的复选框

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); 
   }
});
于 2012-06-23T08:02:59.283 回答