I got it working with SharedPreferences.
Below is my updated code on handling CheckBox state changed
class MyCheckChangeListener implements OnCheckedChangeListener {
ViewHolder viewHolder = null;
public MyCheckChangeListener(ViewHolder viHolder) {
viewHolder = viHolder;
}
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
String subject = buttonView.getText().toString();
if (viewHolder.checkBoxToSend.equals(buttonView)) {
if (!isChecked) {
/**
* Missing syntax for saving false state of CheckBox
*/
editor.putBoolean(subject, false);
editor.commit();
} else {
/**
* Missing syntax for saving true state of CheckBox
*/
editor.putBoolean(subject, true);
editor.commit();
}// end if-else (!isChecked)
}// end if (viewHolder.checkBoxToSend.equals(buttonView))
}// end onCheckedChanged
}// end OncheckchangeListner
Then I set the state of my CheckBox item from the getView() method of my BaseAdapter
String subject = viewHolder.checkBoxToSend.getText().toString();
viewHolder.checkBoxToSend.setChecked(sharedPreferences.getBoolean(
subject, false));