gpt4 book ai didi

java - 无法让 onSharedPreferenceChanged() 工作

转载 作者:太空宇宙 更新时间:2023-11-03 12:10:01 24 4
gpt4 key购买 nike

我想在用户从我的 preferenceActivity 中的 ListPreference 中选择特定项目时显示一个对话框。但是,我无法让 onSharedPreferenceChanged() 工作。我在方法的开头放了一个Toast,它没有显示,所以这个方法根本就没有跑完,这是为什么呢?

这是我的代码:(谢谢)

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {

Toast.makeText(Preferences.this, "prefs Changed", Toast.LENGTH_SHORT)
.show();

if (key.equals("boolean_ad_type")) {

sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
String value = sharedPreferences.getString("boolean_ad_type", "");
if (value != null && value.equals("Pop-up Ads")) {

Toast.makeText(Preferences.this, "Pop-up Ads Selected",
Toast.LENGTH_SHORT).show();
}

}
}

我是否需要在这样的 Activity 中实现它? (我试过有和没有,没有区别)

    public class Preferences extends PreferenceActivity 
implements OnSharedPreferenceChangeListener {

最佳答案

onSharedPreferenceChanged not fired if change occurs in separate activity?

public class MyActivity extends PreferenceActivity implements
OnSharedPreferenceChangeListener {

@Override
protected void onResume() {
super.onResume();
// Set up a listener whenever a key changes
getPreferenceScreen().getSharedPreferences()
.registerOnSharedPreferenceChangeListener(this);
}

@Override
protected void onPause() {
super.onPause();
// Unregister the listener whenever a key changes
getPreferenceScreen().getSharedPreferences()
.unregisterOnSharedPreferenceChangeListener(this);
}

关于java - 无法让 onSharedPreferenceChanged() 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14386181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com