2012-12-04 1 views
1

목록보기에서 ToggleButtons를 사용하고 웹 서비스 데이터에서 토글 버튼의 ​​상태를 설정 했으므로 이제 토글 버튼의 ​​상태를 변경했지만 이전 상태로 재설정됩니다. 목록보기를 스크롤합니다.목록보기를 스크롤 할 때 토글 버튼 상태가 이전 상태로 재설정되었습니다.

나는 내 어댑터 클래스에서 다음을 사용했습니다. 모든 현재 보이지 않는 행의 전망이 삭제되고으로 다시 만들 수 있기 때문에 그것에 삭제됩니다 토글 버튼의 ​​ enter code here

tbtnStatus=(ToggleButton)view.findViewById(R.id.togglebtn); 
     tbtnStatus.setTag(new Integer(position)); 

     tbtnStatus.setOnCheckedChangeListener(null); 


     tbtnStatus.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

      @Override 
      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
       // TODO Auto-generated method stub 
       String update_status; 
       String current_status=buttonView.getText().toString(); 
       if(current_status.equals("ON")) 
       { 
        update_status="NO"; 
       } 

       else 
       { 
        update_status="YES"; 
       } 

       String res=UrltoValue.getValuefromUrl(DataUrls.updateindividualstaus+"?pilotid="+DataUrls.pilotid+"&friendid="+friendid[position]+"&status="+update_status); 
      } 
     }); 

답변

2

국가는 웹 서비스 데이터 화면에서 그것을 sroll마다에서 기본값입니다 기본값. 상태 전환 버튼을 저장해야합니다. 예를 들어 ArrayAdapter<Object>을 사용하는 경우이 행과 연결된 객체에 저장할 수 있습니다.

0

는 u는 그 각각의보기의 토글 버튼을 체크하면보기의 위치를 ​​저장 ... 그리고의 getView()에서

if(yourposition==position) 
    tbtnStatus.setChecked(true); 

당신이 yourposition로 3 toggle..save 3 위치를 클릭 한 가정이 코드를 작성하고 u가 스크롤 될 때 getView가 호출되고 예를 토글하여 상태를 확인합니다.