gpt4 book ai didi

android - OnSharedPreferenceChangeListener 未调用 #2

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:45 25 4
gpt4 key购买 nike

好吧,我开始从 Google 的 android 中实现这个可怕的代码。未调用 OnSharedPreferenceChangeListener。这是我的代码,请问有什么建议吗?

类定义:

private SharedPreferences sPrefs;
private PreferenceChangedListener prefsChangedListener;

我有一个私有(private)内部类:

private class PreferenceChangedListener implements
OnSharedPreferenceChangeListener {

public void onSharedPreferenceChanged(
SharedPreferences sharedPreferences, String key) {
if (key == "highThreshold") {
try {
highThreshold = Float.parseFloat(sharedPreferences
.getString(key, "0"));
} catch (Exception e) {
}
}
}
}

尝试在 OnResume 中使用以下代码并在“Voorkeuren”首选项 Activity 启动后注册监听器。两者都失败了。

sPrefs = getPreferences(MODE_PRIVATE);
prefsChangedListener = new PreferenceChangedListener();
sPrefs.registerOnSharedPreferenceChangeListener(prefsChangedListener );

我定义了一个扩展 PreferenceActivity 的类 Voorkeuren

public class Voorkeuren extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_voorkeuren, menu);
return true;
}
}

我打开如下:

Intent intent = new Intent(getBaseContext(),Voorkeuren.class);
startActivity(intent);

该类显示良好,并在 session 之间存储值。但是如果设置有问题,我的应用程序不应该进行轮询。有任何想法吗?我有关于 SharedPreferences.Editor 的红色信息,但我不确定它是如何相关的。

最佳答案

不确定您的问题是什么以及需要什么。

但是您需要做一项更改。在 onResume 中替换它

sPrefs = getPreferences(MODE_PRIVATE);
prefsChangedListener = new PreferenceChangedListener();
sPrefs.registerOnSharedPreferenceChangeListener(prefsChangedListener );

sPrefs = PreferenceManager.getDefaultSharedPreferences(this);;
prefsChangedListener = new PreferenceChangedListener();
sPrefs.registerOnSharedPreferenceChangeListener(prefsChangedListener);

在 onCreate() 中

关于android - OnSharedPreferenceChangeListener 未调用 #2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13633536/

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