我正在为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()之类的方法。

10-07 19:13
查看更多