2012-04-14 4 views
0

내 프로젝트에서 나는 선택된 체크 박스 값을 저장하기 위해 arraylist를 만들었다. 즉 확인란을 선택하면 arraylist에 id 값을 저장하고 선택되지 않은 경우 arraylist에서 삭제합니다. 또한 해당 페이지에서 선택란을 선택하지 않거나 선택하지 않으면 arraylist에 "00"을 저장합니다.if 및 elseif 조건이 내 코드에서으로 잘 작동하지만 * 부분이 작동하지 않습니다. * 어디서 잘못 되었나요? ....이에 대한안드로이드에 arraylist에 빈 값을 저장하는 방법?

내 코드를 제발 도와주세요 :

public static ArrayList<String> selchkboxlist = new ArrayList<String>(); 

cbs[k].setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     if (((CheckBox) v).isChecked()) { 
      selchkboxlist.add(Integer.toString(v.getId())); 
      System.out.println("chkboxlist size" + selchkboxlist.size()); 
      System.out.println("selected checkboxes" + selchkboxlist); 
     } 
     else if(!(((CheckBox) v).isChecked())) 
     { 
      selchkboxlist.remove(Integer.toString(v 
        .getId())); 
      System.out.println("after delete chkboxlist size" + selchkboxlist.size()); 
      System.out.println("un selected checkboxes" + selchkboxlist); 
     } 
     else 
     { 
      selchkboxlist.add("00"); 
      System.out.println("nothing selected selected checkboxes" 
        + selchkboxlist); 
     } 
    } 
}); 
+2

else 부분에 도달 할 수 없습니다. 상자가 선택되어 있는지 여부, "else"가 없음 –

+0

아무 것도 선택되지 않은 경우 어떻게 기본값으로 값을 저장할 수 있습니까? – RaagaSudha

답변

1

다른 경우이 확인란이 선택 체크되지 않았거나 하나 때문에 입력되지 않습니다.

onclick 수신기는 실제로 확인란을 클릭 할 때까지 호출되지 않습니다.

수행하고자하는 것이 확실하지 않지만 선택한 항목 목록에 체크 된 체크 박스 만 추가하고자 할 수 있습니다.

0

확인란 만 선택하거나 선택하지 않으면 코드 샘플에서 else 구문에 도달 할 수 없습니다.

사용하는 대신 클릭에의 OnCheckedChangeListener :

selchkboxlist.setOnCheckedChangeListener(new OnCheckedChangeListener() 
{ 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
    { 
     if (isChecked) 
     { 
      //user checked checkbox 
     }else{ 
      //user unchecked checkbox 
     } 
    } 
}); 

그런 다음 "제출"당신의 체크 박스는 사용자가 상자 경우 (체크 박스

을 선택하지 않았는지 루프에서이 검사를 수행 할 때!. isChecked()) selchkboxlist.add ("00");

관련 문제