2016-07-19 13 views
-1

Ist es möglich, EditText "Hinweis" oder Standardtext auf den Wert einer sharedpref Zeichenfolge festzulegen? Ich habe 3 EditText, eine Schaltfläche, wenn die Schaltfläche geklickt wird, werden die 3 Werte in SharedPreferences für einen späteren Zeitpunkt in der App gespeichert. Ab sofort bleiben die 3 Bearbeitungstexte nach dem Klicken auf die eingegebenen Werte erhalten, aber wenn Sie die Aktivität verlassen und zurückkehren, werden alle leer angezeigt. Ich frage mich, ob es eine Möglichkeit gibt, sie so zu setzen, dass sie der sharedpref-Wert der Zeichenkette sind, und wenn nichts gespeichert wird, setze sie auf den vorgegebenen Standard. Wie lege ich den Standardwert für eine sharedpref-Zeichenfolge fest? Vielen Dank!EditText Hinweis als shared pref default?

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); 
      SharedPreferences.Editor editor = pref.edit(); 
      if (mEditTextBench.getText().length() > 0 && mEditTextDead.getText().length() > 0 && mEditTextSquat.getText().length() > 0) { 
       editor.putString("maxDead", mEditTextDead.getText().toString()); 
       editor.putString("maxSquat", mEditTextSquat.getText().toString()); 
       editor.putString("maxBench", mEditTextBench.getText().toString()); 
       editor.apply(); 

Dies ist mein Code in einem anderen Layout, um sicherzustellen, zu testen, es richtig zu sparen. (Was es ist) Ich bin nicht ganz sicher, was die „Null“, obwohl tut. Also wenn da noch jemand helfen kann danke !!

String maxDead = pref.getString("maxDead", null); 
    TextView textViewTest = (TextView) findViewById(R.id.textViewTest); 
    textViewTest.setText(maxDead); 

Antwort

1

Doh !! Herausgefunden! Hinzugefügt zu onCreate:

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); 
    String maxDeadHint = pref.getString("maxDead", "100"); 
    mEditTextDead.setHint(maxDeadHint); 

Mein schlechtes! Vielen Dank!

1

Sobald Sie die entsprechenden Ersatz zu machen, sollte diese Arbeit:

TextView deadText = (TextView) findViewById(R.id.//insert id//); 
TextView squatText = (TextView) findViewById(R.id.//insert id//); 
TextView benchText = (TextView) findViewById(R.id.//insert id//); 

deadText.setHint(pref.getString("maxDead", "default_value")); 
squatText.setHint(pref.getString("maxSquat", "default_value")); 
benchText.setHint(pref.getString("maxBench", "default_value")); 
Verwandte Themen