1

.setViewBinder (안드로이드)와 논리 값으로 sqliteDb에 int를 변환하는 내 코드입니다 '는 내 데이터베이스의 int 형식으로되어 있지만 어쩌면 부울로 바꿔야합니다. 내 토글 버튼에 대한 내 상태이기 때문입니다.내가 조금 여기 <p>안드로이드</p>에 viewbinders에 붙어있어

저는 .setViewBinder를 사용해야한다는 것을 알고 있지만 시작할 생각이 없습니다.

은 (또한 안드로이드의 개발자 사이트를 사용하는 이미 시도했지만 나에게 진짜 두통을주고) 사전에

mSimplecursorAdapter.setViewBinder(new ViewBinder() { 

     public boolean setViewValue(View aView, Cursor aCursor, int aColumnIndex) { 

      if (aColumnIndex == 5) { 
       String strBool = aCursor.getString(aColumnIndex); 
       ToggleButton tb = (Togglebutton) aView; 
       if (strBool=="0") { 
        tb.setChecked = false; 
       }else{ 
        tb.setChecked = true; 
       } 
      return true; 
    } 

    return false; 
} 

감사 :

은 내가 몇 가지 튜토리얼에서 다음을 시도했지만 작동하지 않습니다

답변

0

String.equals() 또는 TextUtils.equals()를 사용하여 문자열을 비교해야하기 때문에 코드가 작동하지 않습니다. 이 조금 더 (만 변경 'false를 반환'에 'true를 반환'작동

public boolean setViewValue(View aView, Cursor aCursor, int aColumnIndex) { 

     if (aColumnIndex == 5) { 
      boolean checked = aCursor.getInt(aColumnIndex) == 1; 
      ToggleButton tb = (Togglebutton) aView; 
      tb.setChecked(checked); 
      return true; 
     } 
     return false; 
    } 
+0

확인 :

나는 보통 값 1 또는 0와 정수로이 데이터를 처리, SQLite는에 부울 열을 처리합니다. 내가 가지고있는 문제는 내 togglebutton-tekst를 변경하지 않는다는 것입니다. 처음에는 on/off 대신에 1/0을 보여줍니다. 버튼을 클릭하면 다음과 같이 바뀝니다. – NVandyck

+0

텍스트를 ToggleButton에 표시하면 ('android : textOff' 및'android : textOn'을 통해) 또는 (ToggleButton.setTextOff() 및 ToggleButton.setTextOn()을 사용하여) xml에 표시된 값을 설정할 수 있습니다. 하나는 당신이 사용하고 있습니까? –