为什么这个SettingsActivity的onSharedPreferenceChanged方法是空白的?
Why is the onSharedPreferenceChanged method of this Settings Activity blank?
我为 android 创建了动态壁纸。我正在尝试实现一个设置菜单,但遇到了很多困难。基本上,除了 Wallpaper service
没有选择设置菜单中的设置外,一切正常。我正在根据本教程使用 SharedPreferences
:
我想弄清楚为什么设置没有转移到主要 Wallpaper Service
,我突然想到我的 Settings Activity
的 onSharedPreferencesChanged
方法, extends PreferenceActivity
是空白的。我现在没有我的代码,但这段代码非常相似,所以我的问题是为什么 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 的值已经改变了。只需检查您是否正确检查了首选项的值。
我为 android 创建了动态壁纸。我正在尝试实现一个设置菜单,但遇到了很多困难。基本上,除了 Wallpaper service
没有选择设置菜单中的设置外,一切正常。我正在根据本教程使用 SharedPreferences
:
我想弄清楚为什么设置没有转移到主要 Wallpaper Service
,我突然想到我的 Settings Activity
的 onSharedPreferencesChanged
方法, extends PreferenceActivity
是空白的。我现在没有我的代码,但这段代码非常相似,所以我的问题是为什么 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 的值已经改变了。只需检查您是否正确检查了首选项的值。