I have a Simple Cursor Adapter which works fine and displays all the data. My listener changes the color on click:
listViewM.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
boolean exists = false;
TextView item = (TextView) view.findViewById(R.id.r_lv_name);
String selectedAnswer = item.getText().toString();
MultiSelection multiSelection = new MultiSelection((int) id, selectedAnswer);
for (MultiSelection mm : mMultiSelectionsArray) {
if (id == mm.getId()) {
mMultiSelectionsArray.remove(mm);
exists = true;
break;
} else {
exists = false;
}
}
if (!exists) {
mMultiSelectionsArray.add(multiSelection);
item.setTextColor(Color.parseColor("#2EFE2E"));
} else {
mMultiSelectionsArray.remove(multiSelection);
item.setTextColor(Color.parseColor("#000000"));
}
}
});
Now on scroll adapter is recycling views and marking new items as selected (by adding the color). I guess I need to keep status somehow and then apply it on view creation but after 3 days of looking I give up. Can anyone help please?
Try to use custom adapter, something like: