1

각 행의 확인란과 함께 ListView에 대한 자체 어댑터를 만들려고합니다. 모든 작품은 괜찮지 만, 문제는, 내가 어떤 체크 박스를 체크 한 다음 아래로 스크롤하면 다른 하나도 체크된다.CursorAdapter + CheckBox, 일부 항목을 확인한 경우 다른 항목도 확인했습니다.

(처음 체크하면 11th, 21th, ...도 체크 됨) 나에게 아무런 문제가 없다고 설명 할 수 있습니까?

감사합니다.

내 어댑터 :

public class WordAdapter extends CursorAdapter { 

    public WordAdapter(Context context, Cursor cursor, int flags){ 
     super(context, cursor, flags); 
    } 

    @Override 
    public void bindView(View oldView, Context ctx, Cursor c) { 

     int wordQuestionIndex = c.getColumnIndex(WordDBAdapter.QUESTION); 
     int wordAnswerIndex = c.getColumnIndex(WordDBAdapter.ANSWER); 
     int activeIndex = c.getInt(c.getColumnIndex(WordDBAdapter.ACTIVE)); 
     String question = c.getString(wordQuestionIndex); 
     String answer = c.getString(wordAnswerIndex); 
     int active = c.getInt(activeIndex); 

     Log.d("WordAdapter", "isActive: "+ active + " - " + question + ", " + answer); 

     ((TextView) oldView.findViewById(R.id.adapter_question)).setText(question); 
     ((TextView) oldView.findViewById(R.id.adapter_answer)).setText(answer); 
     CheckBox checkBox =(CheckBox) oldView.findViewById(R.id.myCheckBox); 
     //checkBox.setChecked(vh.isChecked); 
    } 


    @Override 
    public View newView(Context ctx, Cursor c, ViewGroup root) { 
     LayoutInflater inflater = LayoutInflater.from(ctx); 
     View view = inflater.inflate(R.layout.word, root, false); 
     return view; 
    } 
} 
+0

가능한 중복 : CursorAdapter, ListView에 a를 nd CheckBox] (http://stackoverflow.com/questions/4803756/android-cursoradapter-listview-and-checkbox) – Sam

답변

1

이 때문에 기존의 뷰의 재사용입니다 ...

내가 제안

, 당신이 체크 된 체크 박스 항목의 목록을 유지하고 검사를 다시 의 Bindview의 상자 항목이 새 값으로 초기화 할 때마다 ..

비슷한 질문 및 솔루션입니다 found here

[안드로이드의