选择&用一个按钮取消选择列表项

时间:2014-06-10 10:41:34

标签: android listview

当没有选择任何项目时,我需要一个按钮来选择所有列表项目,此按钮应该取消选择已经选择的所有项目,我的意思是执行两项任务的按钮!1 - 选择所有列表项目,2-取消选择所有列表项,我应该如何实现?,任何帮助将不胜感激!谢谢!

我将我的代码更改为以下内容,但只选择所有正常工作! checkselectedItems检查是否选择了所有项目:

               public boolean checkSelectedItems(){

                for (int k=0;k<listView.getCount();++k){
                    if(listView.isItemChecked(k)==true)
                   return true;
                }

                return false;

           }

和我的按钮:

                         case R.id.select_all:
                         Log.i(TAG, "selectAllEntries");


                         for (int i = 0; i < listView.getCount(); ++i) {
                             if (checkSelectedItems()){

                             listView.setItemChecked(i, false);}
                             listView.setItemChecked(i, true);


                         }

2 个答案:

答案 0 :(得分:0)

我假设您正在使用具有multiple属性

的Jquery和下拉列表
$('#selectall').click(function() {
    $('select#studentremain option').attr("selected","selected");
});   

$('#deselectall').click(function() {
   $('select#studentremain option').removeAttr("selected");
});

两个按钮

<button type='button' id='selectall'>Select All</button>
<button type='button' id='deselectall'>De-Select All</button>

如果你有这样的清单

<ul id="mylist">
<li>Element 1</li>
<li>Element 2</li>
<li>Element 3</li>
<li>Element 4</li>
<li>Element 5</li>
<li>Element 6</li>
</ul>

然后使用此代码

$('#mylist').on('click', 'li', function () {
if ($(this).hasClass('selected'))
{
    $(this).removeClass('selected');
    $('#mylist li').removeClass('not-selected');        
}
else
{
    $('#mylist li').removeClass('selected').addClass('not-selected');
    $(this).removeClass('not-selected').addClass('selected');
}
});

答案 1 :(得分:0)

我认为您正在使用复选框来选择项目。我在下面写的代码可能会有所帮助

编写一种方法来检查所有项目是否被选中。

public boolean checkSelectedItems(){

     if(checkBox1.isChecked() && checkBox2.isChecked() && checkBox3.isChecked()){
        return true;
     }

     return false;

}

然后将onClickListener设置为Button。在此示例中,此按钮检查是否已选中所有项目或未检查所有项目。如果选中则取消全选,否则选择全部。您可以根据自己的应用修改代码。

button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

              if(checkSelectedItems()){
                  //Deselect all items
                  checkBox1.setChecked(false);
                  checkBox2.setChecked(false);
                  checkBox3.setChecked(false);
              }else{
                  //Select all items
                  checkBox1.setChecked(true);
                  checkBox2.setChecked(true);
                  checkBox3.setChecked(true);
              }

        }
});

编辑: 您需要将for循环更改为此。否则你们都将你的物品设置为假,然后再次设置为

for (int i = 0; i < listView.getCount(); ++i) {
  if (checkSelectedItems()){

      listView.setItemChecked(i, false);}
  else{

      listView.setItemChecked(i, true);
  }

}