我已将偏好文件'xml / sleeppreferences.xml'放入tabSpec,并认为这是该应用程序部分的首选项,并且其他部分还有其他首选项文件。
这似乎工作正常。我进行首选项更改,关闭模拟器,重新运行应用程序,返回首选项页面,首选项是我设置的首选项。
但是当我点击另一个标签时,我想要使用该偏好的值,这一切都会出错。
我看起来很高,但找不到答案。
这是代码的摘录:
public static final String PREF_FILE_NAME = "sleeppreferences";
:
:
:
SharedPreferences prefs = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);
String test=prefs.getString("editTextPref", "unset");
如果没有找到任何内容,则“未设置”是默认响应。
它总是返回“未设置”
正如我所说,我看了一遍,我正在使用的代码似乎是正确的代码。那是怎么回事?
由于
戴夫
答案 0 :(得分:0)
尝试使用上下文类的GetSharedPreferences。像这样:
public String GetPassword (Context Contexto, String Key) throws Exception
{
SharedPreferences savedSession= Contexto.getSharedPreferences(Key,Context.MODE_PRIVATE);
return Encryption.decrypt(_Seed,savedSession.getString(Key, null));
}
我认为这也应该有效:
getApplicationContext().getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE).getString("editTextPref", "unset");
答案 1 :(得分:0)
请尝试使用此代码保存您的偏好设置,然后使用我之前粘贴的代码。它必须工作正常。
SharedPreferences savedSession= context.getSharedPreferences(Key,Context.MODE_PRIVATE);
Editor editor = savedSession.edit();
editor.putString(Key, EncryptedPass);
editor.commit();