2012-01-15 2 views
0

Я разместил файл настроек «xml/sleeppreferences.xml» в tabSpec с идеей, что это предпочтения для этой части приложения, и будут другие файлы предпочтений для других частей ,getSharedPreferences, не возвращающее значение

Это, похоже, работает нормально. Я делаю изменения предпочтений, закрываю эмулятор, снова запускаю приложение, возвращаюсь на страницу предпочтений, и предпочтение - это то, к чему я его установил.

Но когда я нажимаю на другую вкладку, где я хочу использовать значение этого предпочтения, все идет не так.

Я выглядел высоко и низко, но не могу найти ответ.

Это отрывок кода:

public static final String PREF_FILE_NAME = "sleeppreferences"; 
: 
: 
: 
SharedPreferences prefs = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE);   
String test=prefs.getString("editTextPref", "unset"); 

с «отключено» является ответом по умолчанию, если он не находит ничего.

Он всегда возвращается «отключено»

Как я сказал, я посмотрел всего, и код, я использую, кажется, правильный код. Так, что происходит?

Благодаря

Dave

+1

Оставить код, куда вы помещаете данные в sharedpreference –

ответ

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"); 
+0

Извините; String test = getApplicationContext(). GetSharedPreferences (PREF_FILE_NAME, MODE_PRIVATE) .getString ("editTextPref", "unset"); все еще вернулась «не установлена». Спасибо за быстрый ответ. Dave – DaveSav

+0

Не могли бы вы добавить код, который вы используете, чтобы сохранить предпочтение внутри приложения? –

+0

Моя ошибка полностью. Сохраняло предпочтения по умолчанию, а не по умолчанию. – DaveSav

0

Пожалуйста, попробуйте этот код, чтобы сохранить ваши предпочтения, а затем использовать код, который я ранее вставленный. Он должен работать нормально.

SharedPreferences savedSession= context.getSharedPreferences(Key,Context.MODE_PRIVATE); 
    Editor editor = savedSession.edit(); 
    editor.putString(Key, EncryptedPass); 
    editor.commit();