2016-10-25 7 views
0

나는 체크 박스와 함께 텍스트 인 태스크를 정의했다.체크 박스를 선택 취소하면 목록 업데이트 - 안드로이드

또한 올바르게 표시되는 작업의 ListView가 있습니다.

문제는 목록을 스크롤 할 때 또는 목록에 새 요소를 추가하려고 할 때 모든 확인란이 선택 취소되었지만 텍스트가 그대로 유지된다는 것입니다.

여기 내 TaskAdapter에서의 getView 위해 가지고 무엇 : 사전에 어떤 도움

public View getView(int position, View convertView, ViewGroup parent) { 
    Task task = getItem(position); 
    LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    convertView = inflater.inflate(layoutID, parent, false); 
    TextView textView = (TextView) convertView.findViewById(R.id.description); 
    CheckBox checkBox = (CheckBox) convertView.findViewById(R.id.box); 
    textView.setText(task.getDescription()); 
    checkBox.setActivated(task.getBox()); 
    return convertView; 
} 

감사합니다 : D

+0

사용 checkBox.setOnCheckedChangeListener (새 CompoundButton.OnCheckedChangeListener() { @Override 공개 무효가 (CompoundButton buttonView 부울의 IsChecked) { task.setBox (의 IsChecked) onCheckedChanged; } 을}); – asim

+0

@asim. OP가 클릭 된 항목에 대해 사용 된 '작업'을 어떻게 결정할 수 있는지 알려주지 않았다. 그가 그것을 위해서 '포지션'을 필요로하기 때문에. – greenapps

+0

@asim 고마워, 내 목록에서 값을 변경하는 데 사용했을 때 효과가 있었다. – streiter

답변

2

task.getBox() 함수가 false를 반환합니다. 그게 문제 야. 해당 지역을 확인하십시오.

+0

setActivated (true)라고 쓰더라도 내 상자는 아직 선택 취소되어있다. – streiter

0

checkBox.setActivated(task.getBox());은 확인란을 활성화/비활성화하는 데 사용됩니다.

checkBox.setChecked(task.getBox());을 사용하여 선택/선택 취소를 설정합니다.