1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

EditText Input speicher und wiederherstellen...

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Visin96, 23.05.2012.

  1. Visin96, 23.05.2012 #1
    Visin96

    Visin96 Threadstarter Neuer Benutzer

    Beiträge:
    11
    Erhaltene Danke:
    0
    Registriert seit:
    22.01.2011
    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();
     }
    
    
     
  2. swordi, 23.05.2012 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    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
     
  3. Visin96, 23.05.2012 #3
    Visin96

    Visin96 Threadstarter Neuer Benutzer

    Beiträge:
    11
    Erhaltene Danke:
    0
    Registriert seit:
    22.01.2011
    okey danke für den hinweis... das ist meine erste app die ich programmiere... ;)
     

Diese Seite empfehlen