我创建了PreferenceFragment
的子类,它实现了CompoundButton.OnCheckedChangeListener
。我有一个首选项包含Switch
(CompoundButton
的一个子类)。下面是我对当开关的值更改创建的回调:按钮侦听器不工作偏好片段
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mAppController.doSomething(isChecked);
Log.v("rose_tag", "hi");
}
我宣布偏好OnCreate
如下:当视图第一次打开
Switch mySwitch = (Switch) myView.findViewById(R.id.switch);
mySwitch.setEnabled(true);
mySwitch.setOnCheckedChangeListener(this);
回调函数被调用(一回调中的断点被击中),但没有打印日志,并且即使在打开和关闭开关时也不会再次调用回调。我怎样才能使这个回调工作?
我也尝试创建一个内联匿名监听器。我也尝试使用简单的Button
与onClick
侦听器,但这也不起作用。
你检查你的进口?有时会发生错误的进口声明。你的onCheckedChangeListener是如下导入的:android.widget.CompoundButton.OnCheckedChangeListener? – Opiatefuchs
我有'import android.widget.CompoundButton' –
也许另一种方法是:mySwitch.setOnCheckedChangeListener(new OnCheckedChangeListener(){});而不是设置实现的chekedChangeListener。你可以试试这个吗? – Opiatefuchs