动态壁纸首选项问题

时间:2011-06-24 05:14:38

标签: android sharedpreferences android-preferences live-wallpaper

所以我的动态壁纸中的首选项存在这个非常愚蠢的问题。

首先,PreferenceManager.getDefaultSharedPreferences不起作用。我在我的Main类中调用它,它是函数onCreate中WallpaperService的子类。对于参数,我首先尝试“this”然后this.getBaseContext(),但这没关系。因此,当我打印值时,没有任何显示!

其次,我在另一个答案中看到,要设置一些默认值,请使用类似PreferenceManager.setDefaultValues(this.getBaseContext(), R.xml.setting, true);的内容。所以,这个,根本没有得到我的defaultValues。它们都是零,甚至我的setting.xml中的一个值也没有显示在列表中。我明确地为每个人添加了android:defaultValue

请注意,一旦我将每个值放在首选项中,就不会出现此问题。但是,对于安装我的应用程序的人来说,它需要在第一次启动时工作。

1 个答案:

答案 0 :(得分:1)

偏好是熊。我总是从一个工作示例开始,然后根据我的需要进行修改;不可能记住形式主义:-)。 “明显”的起点是SDK中的“第二个”Cube示例,它使用首选项活动在立方体和十二面体形状之间进行选择。对于更复杂的东西,你可能想看看Moonblink的“Substrate”包,它结合了多个壁纸,并且具有复杂的设置。项目主页位于:http://code.google.com/p/moonblink/wiki/Substrate,然后单击左上角的Source,然后单击Browse,Trunk,Substrate,src等.GF