以编程方式触发CheckedChanged forggleButton(CompoundButton)

时间:2013-10-16 20:56:48

标签: android android-view

如何以编程方式触发以下方法:(不点击/滑动开/关切换开​​关)

@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
  //randomness
}

我认为另一种方式是,致电

switch1.setChecked(true);

然后进行手动检查。

2 个答案:

答案 0 :(得分:2)

如果你引用类方法,实际上有一种方法可以调用它;)

ToggleButton t = (ToggleButton) findViewById(R.id.myToggle); t.performClick();

请参阅http://developer.android.com/reference/android/widget/CompoundButton.html#performClick()

答案 1 :(得分:0)

无法像这样调用CompoundButton(ToggleButton或Switch)的onCheckedChanged

但是,我看到另外两个解决方案:

  1. 保留侦听器对象并使用按钮和布尔值手动调用onCheckedChanged函数。
  2. CompoundButton.OnCheckedChangedListener实现中的逻辑抽象为另一个可以手动调用的函数。