2016-11-22 1 views
-1

나는 listBox with checkBox를 가지고 있습니다. 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 { 
    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입니다!