setOnPreferenceClickListener函数没有';我不喜欢Android

setOnPreferenceClickListener函数没有';我不喜欢Android,android,preferenceactivity,Android,Preferenceactivity,我正在使用下面的代码将文本打印到logcat,但是setOnPreferenceClickListener函数无法捕获事件 我正在使用Android API Level 8来测试代码 这是密码 公共静态类CachePreferenceFragment扩展 偏好活动{ @凌驾 创建时的公共void(Bundle savedInstanceState){ w(“DBG”,“Oncreate已启动”); super.onCreate(savedInstanceState); addPreferen

我正在使用下面的代码将文本打印到logcat,但是
setOnPreferenceClickListener
函数无法捕获事件

我正在使用Android API Level 8来测试代码


这是密码

公共静态类CachePreferenceFragment扩展
偏好活动{
@凌驾
创建时的公共void(Bundle savedInstanceState){
w(“DBG”,“Oncreate已启动”);
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref_缓存);
首选项设置\删除\缓存=FindReference(“设置\删除\缓存”);
设置\u删除\u缓存。setOnPreferenceClickListener(新建OnPreferenceClickListener()){
@凌驾
公共布尔值打开首选项单击(首选项){
Log.w(“优先”,“删除缓存”);
返回false;
}
});         
}
}
如何确保侦听器捕获事件?

编辑: 在线程外与这个开发人员交谈后,发现问题在于他将他的侦听器放在片段内。因此,这段代码实际上是有效的,但它只会在使用双面板布局时运行。事实上,该方法正上方说明了这一点:

    /**
     * This fragment shows notification preferences only. It is used when the
     * activity is showing a two-pane settings UI.
     */

    public static class CachePreferenceFragment extends
            PreferenceActivity {

解决方案是在setupSimplePreferenceScreen()中设置onPreferenceClick侦听器

我看不出onCreate中有任何错误。但是我发现您的CachePreferenceFragment是静态类o是不寻常的。唯一的其他事情是您的日志设置可能没有设置为查看警告。您在日志中看到“Log.w(“DBG”,“Oncreate start”);”了吗?是的,我在日志中看到了“Oncreate start”文本。日志工作。我在写文章之前已经检查了链接。这个解决方案也不起作用。我做了一个复制粘贴,但结果还是一样。不,它不再起作用了,这是我写的代码:删除defaultValue和使用CheckBoxPreference都没有任何意义。是的,对不起,我已经做了几十次了,从来没有遇到过任何问题。我会尝试清理你的项目,重新启动电脑,重新启动手机等。如果你给我发送的项目,我可以看看我是否与它有任何运气,否则好运