OnCheckedChangeListener or OnClickListener with if statement for CheckBox's? What is the difference in functionality?

StackOverflow https://stackoverflow.com/questions/22564113

Question

Hello I'm creating an android application that uses checkbox's, i'm wondering if it is better to use an OnCheckedChangeListener to do something when the state of the checkbox is changed or if it would be better to use an OnClickListener with an if statement inside it that is executed everytime the checkbox is checked or unchecked? Thanks

Was it helpful?

Solution

With OnCheckedChangeListener you receive an event whenever the checked status changes, even when done in code by using .setChecked().

Depending on what you are doing this can lead to unexpected behavior (for example when you have a checkbox in a listview, the view is recycled and the checkbox state is modified programmatically, it looks exactly the same way as if the user had clicked it).

Therefore, when you are writing code that is supposed to react to a user who clicked the checkbox you should use OnClickListener.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top