2015-01-07 2 views
1

체크섬 된 체크섬 위치를 저장하기 위해 어댑터 클래스 (부울 배열)를 사용하고 있습니다 (ArrayAdapter 확장). 내가 logcat에서 인쇄 할 때마다 체크 박스를 체크 할 때마다 [Z @ 42067480]이 인쇄됩니다. 무엇 않습니다 그 의미? 특정 검사 위치의 가치를 얻기 위해 이것을 디코딩하는 방법? 나는 이것에서 새롭다. 또한 사용자 지정 목록보기의 선택된 항목 위치를 저장하는 다른 대체 방법이 있습니까?android java에서 boolean 배열의 값을 가져 오는 방법은 무엇입니까?

답변

0

표시되는 내용은 배열의 메모리 위치입니다. 당신은 아마도 myArray.toString()을하고있는 것입니다. 모든 인덱스에서 똑같은 것을 볼 수 있습니다.

체크 박스 상태를 저장하는 가장 좋은 방법은 아마도 SparseArray을 사용해야합니다.

0

확인란 자체의 값을 인쇄해야합니다. checkbox.isChecked()를 인쇄하십시오.

3

나는 당신이 문자열로 전체 불린 배열을 인쇄하고 있다고 생각한다. 대신 아래 예와 같이 적절하게 변경할 수있다. 두 가지 유형의 for 루프를 사용하고 있습니다. 그 중 하나를 선택할 수 있습니다.

boolean []arr={true,false,true,true}; 


      for(boolean boolean1:arr) 
      { 
       Log.e("",""+boolean1);   
      } 

또는

for (int i = 0; i < arr.length; i++) { 
      Log.e("",""+arr[i]); 
     } 

당신은 당신이 당신의 부울 배열을 반복하는 루프에서의 ArrayList에 데이터를 저장할 수 있습니다 또는 다른를 만들 수 있습니다. 그것은 당신의 선택에 달려 있습니다. 나는 for 루프를 사용했다. 원하는 경우 새로 만들 수 있습니다.

ArrayList<Boolean> booleans=new ArrayList<Boolean>(); 

      for (int i = 0; i < arr.length; i++) { 
       Log.e("",""+arr[i]); 
       booleans.add(arr[i]); 
      } 

또는

for (boolean b:arr) { 
       Log.e("",""+b); 
       booleans.add(b); 
      } 

당신이 어떤 쿼리가있는 경우

, 의견을주십시오.

+0

고맙습니다. 저에게 좋습니다. 이제이 배열을 ArrayList에 저장해야한다면 어떻게해야합니까? . 이 arraylist 가치가 내 주요 활동에 들어가기를 바랍니다. –

+0

내 대답을 편집 중입니다. 그것을 참조하십시오. – droidd

+0

고마워요. 나는 당신에게 얼마 동안 더 많은 질문을 올리고있다. –

관련 문제