android – 按钮监听器无法在Preference片段中工作

前端之家收集整理的这篇文章主要介绍了android – 按钮监听器无法在Preference片段中工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经创建了一个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);

当视图首次打开时(回调中的断点被点击)调用回调,但没有日志打印,并且即使我打开和关闭开关,也不会再次调用回调.如何使这个回调工作?

我还尝试创建一个内联匿名监听器.我也尝试使用带有onClick侦听器的简单Button,但这也无效.

解决方法@H_403_14@
我可以看到你正在尝试使用 PreferenceFragment作为任何其他正常片段.但是,您必须接受计数正确的机制,例如,您不能使用所有小部件为用户创建首选项视图,您必须使用 Preference对象(请参阅首选项子类).

另一个例子是您必须使用addPreferencesFromResource(int)来扩充XML资源的首选项.

检查上面的两个链接和这个example.

我希望它能帮助你.

猜你在找的Android相关文章