2013-03-01 4 views
2

У меня есть EditTextPreference в моем Preferences, я хочу ввести что-нибудь и сохранить его, тогда я хочу получить этот текст в Activity. Мой ключ EditTextPreference - B1. Я попробовал этот код:Получение строки из настроек

SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext()); 
       String samples = getPrefs.getString("B1", ""); 
       b1.setText(samples); 

<EditTextPreference 
      android:dialogTitle="Button 1" 
      android:key="B1" 
      android:summary="Set text on button 1" 
      android:title="Set text on button 1" /> 

я java.lang.NullPointerException между этими

String samples = getPrefs.getString("B1", "lol"); 
      b1.setText(samples); 
+0

что такое ток Сью?? – moDev

+0

java lang nullpointerexception –

ответ

1

Попробуйте

Home.java

public class Home extends Activity { 

public SharedPreferences prefs; 

String mValues; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 

    setContentView(R.layout.main); 
    prefs = PreferenceManager.getDefaultSharedPreferences(this); 
    mValues= prefs.getString("male", "female"); 
} 

}

Preferences.java

public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener{ 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     addPreferencesFromResource(R.xml.setting); 

    } 

    @Override 
    public void onSharedPreferenceChanged(SharedPreferences sharedPref, String key) { 
     Editor editor = sharedPref.edit(); 
     if(key.equalsIgnoreCase("B1")){ 
      editor.putString("male","my value"); 
     } 

     editor.commit(); 

    } 
} 

Позвольте мне знать, если он работает для вас.

+0

03-01 18: 47: 40.136: E/AndroidRuntime (3196): java.lang.NullPointerException в строке 345, которая является образцами строк = getPrefs. getString («B1», «lol»); –

+0

спасибо! : D это сработало –

+0

Most Welcome :) – moDev

1

Для того чтобы писать в SharedPreferences вы можете использовать:

Editor editor = getPrefs.edit(); 
    editor.putString("B1", "you value here"); 
    editor.commit(); 
+0

Я не хочу писать в предпочтения, я хочу getstring из настроек –

2

Declare:

SharedPreferences pref = this.getSharedPreferences("MyPreferences", Context.MODE_PRIVATE); 

Поместить значение (может быть ИНТ, String и т.д.)

String tom = "tom"; 
    pref.edit().putString("tom", tom).commit(); // To set a value to SharedPreferences 

Получить значение (помните тип)

String name = pref.getString("tom", null); // To get a value from SharedPreferences 

См SharedPreferences

Смежные вопросы