使用CheckBox的if语句的OnCheckedChangeListener或OnClickListener?功能有什么区别?

Pau*_*der 6 java android listener oncheckedchanged onclicklistener

您好我正在创建一个使用复选框的Android应用程序,我想知道当复选框的状态发生变化时是否更好地使用OnCheckedChangeListener来执行某些操作,或者如果最好使用内部带有if语句的OnClickListener每次选中或取消选中复选框时执行它?谢谢

aki*_*irk 11

随着OnCheckedChangeListener您收到的事件只要选中状态的变化,通过使用代码完成甚至当.setChecked().

根据您正在执行的操作,这可能会导致意外行为(例如,当您在列表视图中有一个复选框时,视图会被回收并且复选框状态会以编程方式进行修改,它看起来与用户点击它的方式完全相同) .

因此,当您编写应该对单击该复选框的用户做出反应的代码时,您应该使用该代码OnClickListener.

  • 是.`OnCheckedChangeListener`提供了一个布尔变量`isChecked`,而在`OnClickListener`中你将使用`((CheckBox)v)获取该信息.isChecked()`(如果`v`是作为传递的`View`参数).但重点是后者意味着与用户(手指)互动一起使用. (2认同)