getSharedPreferences不返回值

时间:2012-01-15 01:20:43

标签: android

我已将偏好文件'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");

如果没有找到任何内容,则“未设置”是默认响应。

它总是返回“未设置”

正如我所说,我看了一遍,我正在使用的代码似乎是正确的代码。那是怎么回事?

由于

戴夫

2 个答案:

答案 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();