2016-11-22 3 views
-1

私はcheckBox付きのlistViewを持っています。 checkBoxをオンまたはオフにすると、数字がカウントされ、buttondeleteのsetTextに表示されます。カウンタが0の場合はDELETEと表示され、それ以外の場合はDELETE (with the counter)と表示されます。しかし、問題は、カウンタが0ボタン表示のチェックボックスカウンタ

holder.ckbox.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         if (((CheckBox) v).isChecked()) { 
          int getPosition = (Integer) v.getTag(); // Here we get the position that we have set for the checkbox using setTag. 
          search.get(getPosition).setSelected(((CheckBox)v).isChecked()); // Set the value of checkbox to maintain its state. 
          checkBoxCounter ++; 
          delete.setText("DELETE"+""+"("+ checkBoxCounter +")"); 
         } else 
         { 
          if(checkBoxCounter==0) 
          { 
           delete.setText("DELETE"); 
          } 
          else { 
           int getPosition = (Integer) v.getTag(); // Here we get the position that we have set for the checkbox using setTag. 
           search.get(getPosition).setSelected(((CheckBox) v).isChecked()); // Set the value of checkbox to maintain its state. 
           checkBoxCounter--; 
           delete.setText("DELETE" + "" + "(" + checkBoxCounter + ")"); 
          } 
         } 
        } 
       }); 
+0

@Kathi ya..'private静的int型checkBoxCounter = 0; ' – Hoo

+0

@Kathiそれでも表示DELETE(0) – Hoo

答えて

1

は今、あなたは決して0変更し、これに下elseブロックをチェックしませんしている:

else { 
    int getPosition = (Integer) v.getTag(); // Here we get the position that we have set for the checkbox using setTag. 
    search.get(getPosition).setSelected(((CheckBox) v).isChecked()); // Set the value of checkbox to maintain its state. 
    checkBoxCounter--; 
    if (checkBoxCounter == 0) { 
     delete.setText("DELETE"); 
    else { 
     delete.setText("DELETE" + "" + "(" + checkBoxCounter + ")"); 
    } 
} 

と削除以前のチェック

1
はこれがあなたのために働くこの

holder.ckbox.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        if (((CheckBox) v).isChecked()) { 
         int getPosition = (Integer) v.getTag(); // Here we get the position that we have set for the checkbox using setTag. 
         search.get(getPosition).setSelected(((CheckBox)v).isChecked()); // Set the value of checkbox to maintain its state. 
         checkBoxCounter ++; 
         delete.setText("DELETE"+""+"("+ checkBoxCounter +")"); 
        } else 
        { 
         checkBoxCounter--; 
         if(checkBoxCounter==0) 
         { 
          delete.setText("DELETE"); 
         } 
         else { 
          int getPosition = (Integer) v.getTag(); // Here we get the position that we have set for the checkbox using setTag. 
          search.get(getPosition).setSelected(((CheckBox) v).isChecked()); // Set the value of checkbox to maintain its state. 
          delete.setText("DELETE" + "" + "(" + checkBoxCounter + ")"); 
         } 
        } 
       } 
      }); 

希望にコードを変更し

ですがDELETE (with the counter)をまだ削除のsetTextです!