我正在为Android制作动态壁纸。我有墙纸部分工作,我正在尝试添加设置。在LiveWallpaperSettings中我有这个:
@Override
protected void onCreate(Bundle icicle)
{
super.onCreate(icicle);
getPreferenceManager().setSharedPreferencesName(LiveWallpaperService.SHARED_PREFS_NAME);
addPreferencesFromResource(R.string.livewallpaper_settings);
getPreferenceManager().getSharedPreferences()
.registerOnSharedPreferenceChangeListener(this);
}
编译器说不推荐使用getPreferenceManager()
和addPreferencesFromResource()
。我应该用什么呢?
这些方法来自PreferenceActivity
[编辑]:基于迄今为止的一些评论,我显然正在使用过时的方法。有人能指出使用PreferenceFragments的LiveWallpaper代码的当代示例吗?
答案 0 :(得分:3)
来自the documentation的PreferenceActivity:
在HONEYCOMB之前,这个类只允许显示一组首选项;现在可以在新的PreferenceFragment类中找到此功能。如果您在旧模式下使用PreferenceActivity,则此处的文档适用于已弃用的API。
因此,您可以切换到使用片段,也可以忽略这些警告。 (了解被弃用的方法有一天会从API中消失......)
有人可以使用PreferenceFragments指向LiveWallpaper代码的当代示例吗?
PreferenceActivities和PreferenceFragments中使用的方法之间没有重大差异,一般来说切换到碎片是一个很大的变化。但是PreferenceFragment有一个例子,你可以看到你仍然可以使用现代形式的addPreferencesFromResource()
等方法。