我试图在OnPreferenceClickListener
上实现PrefernceFragment
,似乎从未调用过onPreferenceClick()
。
我还有另一个实现PrefernceFragment
的OnSharedPreferenceChangeListener
,它工作得很好。
这是操作系统的错误吗? OnPreferenceClickListener
是否不应该支持PrefernceFragment
?
如果在阅读时无需将片段注册为侦听器,那么我真的认为我的代码是正确的。
public class myClass extends PreferenceFragment implements OnPreferenceClickListener {
@Override
public void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
addPreferencesFromResource(com.XX.ZZ.R.xml.YY);
}
@Override
public boolean onPreferenceClick(Preference preference) {
// never called.
}
}
最佳答案
PreferenceFragment
没有onPreferenceClick()
方法。确实不需要监听点击事件,因为Android片段负责将首选项值写入内存。如果您确实需要监视单击事件,则可以使用findPreference(CharSequence key)
查找要监视的每个Preference
,然后在其上调用setOnPreferenceClickListener(this)
。