How can I distinguish whether Switch,Checkbox Value is changed by user or programmatically (including by retention)?
Answer 2: A very simple answer: Use on OnClickListener instead of OnCheckedChangeListener someCheckBox.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { // you might keep a reference to the CheckBox to avoid this class cast boolean checked = ((CheckBox)v).isChecked(); setSomeBoolean(checked); } }); Now you only pick up click events and don’t have to worry about programmatic … Read more