안녕하세요. 이제 한 8개월째 접어드는 안드로이드 개발자 입니다.

오늘 버그를 하나 발견을 해서 수정을 하려는데 힘드네요.
중수, 고수님들은 아시겠지만 ListView에 setAdapter를 하여

한줄 한줄 CheckBox를 포함한 리스트를 구현을 하였는데. 체크를 한뒤에
스크롤로 Check된 라인이 가려졌다 다시 보여지게 되면 Check가 풀리는 현상이 있네요.

다시 초기화 되는건지.. 원..... 혹시 비슷한 경험이 있으신분들 방법 좀 알려주세요.

@Override
  public View getView(int position, View convertView, ViewGroup parent) {
   // TODO Auto-generated method stub
   if(convertView == null){
       LayoutInflater mLayoutinflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
       convertView = mLayoutinflater.inflate(R.layout.actionlistitem, null); 
   }
   
   final CheckBox checkbox = (CheckBox)convertView.findViewById(R.id.checkAction);
   
   checkbox.setText(actionlist.get(position));
   checkbox.setChecked(false);
   checkbox.setOnCheckedChangeListener(new OnCheckedChangeListener(){
    @Override
    public void onCheckedChanged(CompoundButton view, boolean isChecked) {
     // TODO Auto-generated method stub
     if(view.isChecked()){
      Log.d(LOG_TAG, "checked list item is : " + String.valueOf(listnumber+1));
      Log.d(LOG_TAG, "checked list name is : " + String.valueOf(view.getText()));
      states[listnumber]=isChecked;
     }
    }
   });
   
   return convertView;
   
  } 

 

profile