Java android SharedReferences-如何检测SharedReference实例类型?我需要去吗?

Java android SharedReferences-如何检测SharedReference实例类型?我需要去吗?,java,android,sharedpreferences,Java,Android,Sharedpreferences,当我使用此代码时,它不会进入pref summary update。。。奇怪的SharedReference为null @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (sharedPreferences instanceof ListPreference) { ListP

当我使用此代码时,它不会进入pref summary update。。。奇怪的SharedReference为null

@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
        String key) {               
    if (sharedPreferences instanceof ListPreference) {
        ListPreference lp = (ListPreference) findPreference("samplingRatePref");
        lp.setSummary("dummy"); // required or will not update
        lp.setSummary(getString(R.string.current_sampling_rate) + ": %s");
    }
    if (sharedPreferences instanceof EditTextPreference) {
        EditTextPreference etp = (EditTextPreference)
                findPreference("editHotlinePref");
        etp.setSummary("dummy"); // required or will not update
        etp.setSummary(getString(R.string.abrev_telephone) + ": %s");
    }
}        
但是,如果我使用以前答案中的代码(谢谢…),它会运行,但是我如何检测它来自哪个引用类型。。。我可能有多个列表(还有其他类型,如编辑文本…)


最后一部分运行良好,正在更新摘要。。。但是如果我还有一个EditTextPreference呢?

键呢?
?你确定
setSummary(“dummy”)是否需要?另外-您确定
SharedReferences
为空吗?它没有意义。key是更改的pref的键,用于在更改时获取新值。。。在第二段(运行良好)代码中,新值将正确显示。。。集合摘要(“虚拟”)。。当我从一篇堆栈文章中重用这段代码时。。。我想是的,但我会试着评论一下,看看。。。此方法中未使用SharedReferences。。。所以没有例外。。。但我用调试器运行它,结果是=null。。。我将尝试在方法中直接使用它,看看会发生什么…setSummary(“dummy”)是不必要的。。删除它。。运行精细的SharedReferences.contains(“samplingRatePref”)将给出true,因此SharedReferences不为null。。。继续尝试更新EditTextPreference。。。谢谢,您的问题是行
etp.setSummary(getString(R.string.abrev_telephone)+“:%s”)不运行?
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
        String key) {               
    ListPreference lp = (ListPreference) findPreference("samplingRatePref");
    lp.setSummary("dummy"); // required or will not update
    lp.setSummary(getString(R.string.current_sampling_rate) + ": %s");
}