所以我有一个很愚蠢的问题,那就是我的实时壁纸上的首选项。
首先,PreferenceManager.getDefaultSharedPreferences不起作用。我在我的主类中调用它,它是onCreate函数中WallpaperService的子类。对于参数,我首先尝试了"this“,然后尝试了this.getBaseContext(),但这无关紧要。所以,当我打印这些值时,什么也没有显示!
其次,我在这里的另一个答案中看到,要设置一些默认值,请使用类似于PreferenceManager.setDefaultValues(this.getBaseContext(), R.xml.setting, true);的内容。所以,这根本不能得到我的defaultValues。它们都是零,甚至我的setting.xml中的一个值都不会出现在列表中。我显式地为他们中的每一个放了一个android:defaultValue。
请注意,一旦我在首选项中设置了每个参数的值,这个问题就不会发生。但是,对于安装我的应用程序的人来说,它需要在第一次启动时工作。
发布于 2011-06-24 13:39:19
偏好是一只熊。我总是从一个可用的示例开始,然后根据我的需要对其进行修改;不可能记住那些形式主义:-)。“显而易见”的起点是SDK中的"second“Cube示例,它使用preferences活动在立方体和十二面体形状之间进行选择。对于更复杂的东西,你可能想看看Moonblink的“基板”包,它结合了多个壁纸,并有复杂的设置。项目主页在这里:http://code.google.com/p/moonblink/wiki/Substrate,然后单击左上角的源,然后单击浏览、干线、基板、源等。
https://stackoverflow.com/questions/6463694
复制相似问题