0

我创建了一个动态壁纸,其中有一个“设置”按钮,它加载 PreferenceActivity 但没有单击“设置”,但我想访问 Engine 或 WallpaperService 子类中的 SharedPreferences。因为我只想访问小的单个字符串,所以我不希望用户进入设置并访问该字符串。所以我想在 Engine 或 WallpaperSerivce 的子类中执行此代码

SharedPreferences  mPrefs = getPreferenceManager().getSharedPreferences();
String option = mPrefs.getString(
this.getResources().getString(R.string.name),
this.getResources().getString(R.string.option));
4

1 回答 1

0

我敢肯定,这不是最好的方法,但我使用 getter 和 setter 来实现这种效果。

private int mySetting = defaultvalue                

public int getMySetting() {
       return mySetting;
}

public void setMySetting(int mySetting) {
       this.mySetting = mySetting;
}

我显然在该代码中使用了一些纯文本,但希望它是非常自我解释的

您在设置类中设置此变量...

Settings.this.setMySetting(value);

删除“this”以从其他类调用

您可以使用以下方法在您的任何课程中检索此信息

Settings.getMySetting();

您几乎可以使用任何变量类型,只需确保在尝试传递除 int 以外的值之前将 mySetting 变量定义为该类型,如本例所示。希望这会有所帮助。

于 2011-02-16T05:18:12.240 回答