У меня странное поведение в ViewBinder. Все работает хорошо на TextViews. С CheckBoxes (удаленный в моем коде) и пользовательскими виджетами progressChart значения не сохраняются в правильной позиции List при прокрутке вниз и/или вверх. Все кажется очень случайным. Но 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