如何在androidcheckbox检查更改接收事件?

当checkbox启用或禁用时,接收和发送事件的正确方式是什么? 在C#中,我可以轻松地双击,所有的代码将为我完成。 但在Android中,似乎有点模糊。 我想使用触摸事件处理程序,但如果用户有一个键盘,它不会检测到更改,因为它不是触摸。 我想android应该有一个本机事件checkbox状态的变化。

CheckBox repeatChkBx = ( CheckBox ) findViewById( R.id.repeat_checkbox ); repeatChkBx.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if ( isChecked ) { // perform logic } } }); 

由于CheckBox(最终)扩展了View,所以可以使用标准的OnClickListener来检测CheckBox实际上是由用户点击的(而不是ListView的更新):

 CheckBox repeatChkBx = ( CheckBox ) findViewById( R.id.repeat_checkbox ); repeatChkBx.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if ( ((CheckBox)v).isChecked() ) { // perform logic } } }); 

尝试这个

 CheckBox checkbox=(CheckBox)findViewById(R.id.checkbox); checkbox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (checkbox.isChecked()) { //Perform action when you touch on checkbox and it change to selected state } else { //Perform action when you touch on checkbox and it change to unselected state } } });