ViewBinder에 이상한 행동이 있습니다. 모든 TextViews에 좋은 작품. (내 코드에서 제거 된) CheckBoxes 및 사용자 정의 widgets progressChart를 사용하면 아래로 스크롤하거나 다시 위로 올리면 값이 목록의 오른쪽 위치에 저장되지 않습니다. 모두 매우 무작위로 보입니다. 그러나 TextViews는 항상 정확합니다.ViewBinder는 임의의 내용을 만듭니다
SimpleAdapter.ViewBinder viewBinder = new SimpleAdapter.ViewBinder() {
@Override
public boolean setViewValue(View view, Object data,
String textRepresentation) {
if (view.getId() == R.id.progress) {
ProgressChart progressChart = (ProgressChart) view;
progressChart.setVisibility(ImageButton.GONE);
} else {
if (x.substring(0, 1).equals("1")) {
int theProgress = Integer.parseInt(x.substring(1));
progressChart.setProgressDarkRed(theProgress);
}
}
if (view.getId() == R.id.textView1) {
TextView textView = (TextView) view;
textView.setText((String) data);
}
return true;
}
};
simpleAdapter.setViewBinder(viewBinder);
setListAdapter(simpleAdapter);
어떤 도움은 매우 내가 비슷한 문제가 있지만, 내 코드에 대한 답 나던 적합을 발견
를 감사 : 다음은 내 코드입니다. Problems with the ViewBinder
예를 들어 textView의 텍스트로 작업합니다. 이는 ViewBinder가 몇 가지 유스 케이스를 수렴한다는 것을 의미합니다. 이것은 매우 약하게 만든다. – user1324936
필연적이지 않다. ** 모든 데이터 소스에서 ** 작업 중입니다. 확인란은 데이터 소스의 일부가 아닙니다. 체크 박스 상태를 데이터 소스에 넣으면 (이전에 쇼핑 앱용으로 했음), 그 상태를 읽거나 설정하고 어댑터를 지원하는 데이터의 체크 박스를 토글하는 메소드를 만들 수 있습니다. 그런 다음 뷰 바인더를 통해 목록으로 다시 흐릅니다. 대부분의 사람들은 그렇게하고 싶지 않으므로, 사용하고자하는 추가 항목의 상태를 유지하기위한 배열을 추가하고'getView'instead를 사용합니다. – Barak
데이터 소스 란 무엇을 의미하며 어떻게 데이터 소스에 넣을 수 있습니까? – user1324936