EditText Input speicher und wiederherstellen...

  • 2 Antworten
  • Letztes Antwortdatum
V

Visin96

Neues Mitglied
0
Hallo zusammen,

ich versuche gerade eine app zu programmieren die den notendurchschnitt (schweiz) ausrechnet.

ich versuchte die edittext eingaben zu speichern und wenn der benutzer die app wieder startet diese daten wiederherzustellen.

...doch irgendwie funktioniert es nicht, die Inputs werden nicht gespeichert...

Code:
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    bCalculate = (Button) findViewById(R.id.bCalculate);
    display = (TextView) findViewById(R.id.TvDisplay);

    AdView ad = (AdView) findViewById(R.id.ad);
    ad.loadAd(new AdRequest());

    bCalculate.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub

            InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

            inputManager.hideSoftInputFromWindow(getCurrentFocus()
                    .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

            int error = 0;
            int anzahlGraden = 0;
            double d1 = 0.0, d2 = 0.0, d3 = 0.0, d4 = 0.0, d5 = 0.0, d6 = 0.0, d7 = 0.0, d8 = 0.0, d9 = 0.0, d10 = 0.0;

            EditText Grade1r = (EditText) findViewById(R.id.Grade1r);
            String Grade1 = Grade1r.getText().toString(); if (error > 8) {
                display.setText("Please enter more then 2 grades.");
            } else {

                double gesamt = d1 + d2 + d3 + d4 + d5 + d6 + d7 + d8 + d9
                        + d10;

                double resultat = gesamt / anzahlGraden;

                display.setText("Your average is " + resultat);

            }

             mPrefs = getSharedPreferences(Grade1, 0);

             String rememberedText1 = mPrefs.getString("grade1r", "");
             grade1r = (EditText) findViewById(R.id.Grade1r);
             grade1r.setText(rememberedText1);
        }

    });

}
 protected void onPause() {
     super.onPause();

     SharedPreferences.Editor ed = mPrefs.edit();
     ed.putString("grade1r", grade1r.getText().toString());
     ed.commit();
 }
 
naja schau mal in deinen code

du speicherst im onPause - das ist soweit natürlich korrekt

aber du lädst den wert im onClick

da müsste der user zuerst klicken - du musst es im onresume laden
 
okey danke für den hinweis... das ist meine erste app die ich programmiere... ;)
 
Zurück
Oben Unten