1. Visin96, 23.05.2012 #1
    Visin96

    Visin96 Threadstarter Neuer Benutzer

    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

    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

    okey danke für den hinweis... das ist meine erste app die ich programmiere... ;)
     

Besucher kamen mit folgenden Begriffen auf unsere Seite:

  1. edittext eingabe in textview speichern