2016-12-02 13 views
0

Ich kann keine Werte in gemeinsamen Voreinstellungen speichern. Sobald die Aktivität geschlossen wird, bleibt der no-Wert gespeichert. Beim erneuten Start der Aktivität haben die zum Speichern und Abrufen von Daten verwendeten IDs Nullwerte. Heres ist mein Code.Ich füge das Layout nicht an, da sie nicht von Bedeutung sind. Als ich android.There bin hier vielleicht einige einfache Sache sein i ein abgängigSharedPreferences Speichern nicht möglich Werte

public class enter_db extends AppCompatActivity 
    { 
    String field; 
    EditText usrtext,idtxt,bananatxt,coconuttxt,timbertxt,bambootxt,goldtxt,garage1txt,garage2txt,garage3txt,garage4txt,garage5txt; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.db_entry); 
    usrtext=(EditText)findViewById(R.id.username); 
    idtxt=(EditText)findViewById(R.id.UserID); 
    bananatxt=(EditText)findViewById(R.id.banana_count); 
    coconuttxt=(EditText)findViewById(R.id.coconut_count); 
    bambootxt=(EditText)findViewById(R.id.banana_count); 
    timbertxt=(EditText)findViewById(R.id.Timber_count); 
    goldtxt=(EditText)findViewById(R.id.gold_count); 
    garage1txt=(EditText)findViewById(R.id.garage_1); 
    garage2txt=(EditText)findViewById(R.id.garage_2); 
    garage3txt=(EditText)findViewById(R.id.garage_3); 
    garage4txt=(EditText)findViewById(R.id.garage_4); 
    garage5txt=(EditText)findViewById(R.id.garage_5); 
    SharedPreferences pref=getApplicationContext().getSharedPreferences("MyPref", MODE_PRIVATE); 
    final SharedPreferences.Editor editor = pref.edit(); 
    if(pref.getString("Username",null)!="") 
    { 
    field=pref.getString("Username",null); 
     usrtext.setHint("Username"+field); 
    } 
    if(pref.getString("UserID",null)!=null) 
    { 
     field=pref.getString("UserID",null); 
     idtxt.setHint("UserID: "+field); 
    } 
    if(pref.getString("Banana",null)!=null) 
    { 
     field=pref.getString("Banana",null); 
     bananatxt.setHint("Banana: "+field); 
    } 
    if(pref.getString("Coconut",null)!=null) 
    { 
     field=pref.getString("Coconut",null); 
     coconuttxt.setHint("Cococnut: "+field); 
    } 
    if(pref.getString("Timber",null)!=null) 
    { 
     field=pref.getString("Timber",null); 
     timbertxt.setHint("Timber: "+field); 
    } 
    if(pref.getString("Bamboo",null)!=null) 
    { 
     field=pref.getString("Bamboo",null); 
     bambootxt.setHint("Bamboo"+field); 
    } 
    if(pref.getString("Gold",null)!=null) 
    { 
     field=pref.getString("Gold",null); 
     goldtxt.setHint("Gold: "+field); 
    } 
    if(pref.getString("Garage1",null)!=null) 
    { 
     field=pref.getString("Garage1",null); 
     garage1txt.setHint("Garage1 :"+field); 
    } 
    if(pref.getString("Garage2",null)!=null) 
    { 
     field=pref.getString("Garage2",null); 
     garage2txt.setHint("Garage2 :"+field); 
    } 
    if(pref.getString("Garage3",null)!=null) 
    { 
     field=pref.getString("Garage3",null); 
     garage3txt.setHint("Garage3 :"+field); 
    } 
    if(pref.getString("Garage4",null)!=null) 
    { 
     field=pref.getString("Garage4",null); 
     garage4txt.setHint("Garage4 :"+field); 
    } 
    if(pref.getString("Garage5",null)!=null) 
    { 
     field=pref.getString("Garage5",null); 
     garage5txt.setHint("Garage5 :"+field); 
    } 

    editor.putString("Username",usrtext.getText().toString()); 
    editor.putString("UserID",idtxt.getText().toString()); 
    editor.putString("Banana",bananatxt.getText().toString()); 
    editor.putString("Coconut",coconuttxt.getText().toString()); 
    editor.putString("Timber",timbertxt.getText().toString()); 
    editor.putString("Bamboo",bambootxt.getText().toString()); 
    editor.putString("Gold",goldtxt.getText().toString()); 
    editor.putString("Garage1",garage1txt.getText().toString()); 
    editor.putString("Garage2",garage2txt.getText().toString()); 
    editor.putString("Garage3",garage3txt.getText().toString()); 
    editor.putString("Garage4",garage4txt.getText().toString()); 
    editor.putString("Garage5",garage5txt.getText().toString()); 
    ImageButton ok=(ImageButton)findViewById(R.id.ok); 
    ok.setOnClickListener(new View.OnClickListener() { 
     // Start new list activity 
     public void onClick(View v) 
     { 
      editor.apply(); 
      Intent i=new Intent(getApplicationContext(),Garage.class); 
      startActivity(i); 
     } 
    }); 
} 

}

+0

versuche, editor.putString zu ändern ("Garage4", garage4txt.getText(). ToString()). Apply(); in jeder Zeile –

+0

verwenden Sie '.commit()' oder '.apply()', um die Änderungen in sharedprefrence zu speichern – Gattsu

+0

tat es, wenn die Schaltfläche "ok" geklickt wurde – Yash

Antwort

0

U Hilfe der Anwendung verpasst() /() verpflichten chanegs zu speichern.

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit(); 
editor.putString("name", "Elena"); 
editor.putInt("idName", 12); 
editor.apply(); // editor.commit() 

apply() ist schneller und asynchroner während commit() synchron ist.

+0

hat es getan, wenn die Schaltfläche "OK" geklickt wurde – Yash

0
editor.putString("Garage5",garage5txt.getText().toString()); 
editor.commit(); 
+1

Bitte aktualisieren Sie Ihre Antwort mit einer kurzen Erklärung, um die Qualität zu verbessern. – nullpointer

0

speichern Wert in gemeinsamen Vorlieben:

SharedPreferences settings =getSharedPreferences("AppName", 0); 
      SharedPreferences.Editor editor = settings.edit(); 
      editor.putString(key, value); 
    editor. putBoolean(key, value); 
      editor.commit(); 

get Wert von gemeinsamen Vorlieben:

SharedPreferences settings = getSharedPreferences("AppName", 0); 
      String value=settings.getString(key, ""); 
    boolean value=settings.getBoolean(key,false); 
0

die oben Code, den Sie Wert bearbeiten Text nicht auf die Schaltfläche in gemeinsamen Vorliebe Spar Klicken Sie auf diese Weise

ok.setOnClickListener(new View.OnClickListener() {
 // Start new list activity
 public void onClick(View v)
 {
 editor.putString("Username",usrtext.getText().toString());
 editor.putString("UserID",idtxt.getText().toString());
 editor.putString("Banana",bananatxt.getText().toString());
 editor.putString("Coconut",coconuttxt.getText().toString());
 editor.putString("Timber",timbertxt.getText().toString());
 editor.putString("Bamboo",bambootxt.getText().toString());
 editor.putString("Gold",goldtxt.getText().toString());
 editor.putString("Garage1",garage1txt.getText().toString());
 editor.putString("Garage2",garage2txt.getText().toString());
 editor.putString("Garage3",garage3txt.getText().toString());
 editor.putString("Garage4",garage4txt.getText().toString());
 editor.putString("Garage5",garage5txt.getText().toString());

 editor.apply();
 Intent i=new Intent(getApplicationContext(),Garage.class);
 startActivity(i);
 }
});

Verwandte Themen