gpt4 book ai didi

java - 为什么此设置 Activity 的 onSharedPreferenceChanged 方法为空?

转载 作者:行者123 更新时间:2023-12-01 11:05:56 25 4
gpt4 key购买 nike

我为 Android 创建了动态壁纸。我正在尝试实现一个设置菜单,但遇到了很大的困难。基本上,除了设置菜单中的设置未被壁纸服务选取之外,一切正常。我根据本教程使用 SharedPreferences:

http://www.codeproject.com/Articles/108390/How-To-Create-Android-Live-Wallpaper?fid=1586900&df=90&mpp=25&prof=False&sort=Position&view=Normal&spc=Relaxed&fr=51#xx0xx

我试图找出为什么这些设置没有被转移到主Wallpaper Service,并且我想到我的onSharedPreferencesChanged方法扩展 PreferenceActivitySettings Activity 为空。我现在没有代码,但这段代码非常相似,所以我的问题是为什么 onSharedPreferenceChanged 方法是空白的,应该是空白的吗?在我看来,这就是实际进行更改的代码所在的位置。

代码如下:

package ca.jvsh.livewallpaper;

import ca.jvsh.livewallpaper.R;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceActivity;

public class LiveWallpaperSettings extends PreferenceActivity
implements SharedPreferences.OnSharedPreferenceChangeListener
{
@Override
protected void onCreate(Bundle icicle)
{
super.onCreate(icicle);
getPreferenceManager().setSharedPreferencesName(LiveWallpaper.SHARED_PREFS_NAME);
addPreferencesFromResource(R.xml.livewallpaper_settings);
getPreferenceManager().getSharedPreferences()
.registerOnSharedPreferenceChangeListener(this);
}

@Override
protected void onResume()
{
super.onResume();
}

@Override
protected void onDestroy()
{
getPreferenceManager().getSharedPreferences()
.unregisterOnSharedPreferenceChangeListener(this);
super.onDestroy();
}

public void **onSharedPreferenceChanged**(SharedPreferences sharedPreferences,
String key)
{
}
}

最佳答案

它应该是空白的。调用此方法是为了让您可以执行您可能想要执行的任何特定更改。但 Preference 的值已经改变了。只需检查您是否正确检查了首选项的值即可。

关于java - 为什么此设置 Activity 的 onSharedPreferenceChanged 方法为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32950658/

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