我正在为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的代码示例吗?
https://github.com/falsedmitri/LiveWallpaperTest.git
最佳答案
从the documentation中获取PreferenceActivity:
因此,您可以切换为使用 fragment ,也可以忽略这些警告。 (了解不赞成使用的方法总有一天会从API中消失...)
PreferenceActivities和PreferenceFragments中使用的方法之间没有主要区别,一般来说,切换到Fragments是一个很大的变化。但是PreferenceFragment有一个示例,您会看到仍然可以使用现代形式的addPreferencesFromResource()
之类的方法。