2016-09-29 2 views
0

ich zwei Aktivitäten haben: Damit können A sagen und BGarbage Wert in Textview produziert immer

A verfügt über eine Taste, die B mit intent Konzept eröffnet.

Durch B Ich bin Speichern von Daten in DatenbankSQLite Konzept.

Eine ist die Haupttätigkeit, die eine textView hat, die etwas Wert zeigt!

Code:

SharedPreferences Mit int-Wert zu speichern und die Anzeige in MainActivity A

c=sp.getInt(Salaryflag, 0); 
     str=Integer.toString(c); 

     tv.setText(str); 

Jetzt habe ich einigen Algorithmus bin mit berechnen sum() in einer Reihe in der Datenbank ein Geschäft seiner Wert in einem int Variable

Jetzt in onResume Ich verwende dieses Konzept, um den Wert der AtextView zu ändern! : Jetzt

@Override 
    protected void onResume() { 
     // TODO Auto-generated method stub 
     super.onResume(); 
     ItemsDataBase xyx=new ItemsDataBase(this); 
     xyx.open(); 
     int lola; 
     lola=xyx.getSum(); 

     xyx.close(); 
     c=c-lola; 
     str=Integer.toString(c); 
     tv.setText(str); 

    } 

, was ich will, ist, dass, wenn ich wieder aus dem zweiten Acitvity B zu A es sollte sofort die Änderungen zeigen.

Aber eigentlich Es ist etwas Müll Wert zeigt, und wenn ich die App nach dem Schließen starte sie die gewünschten Änderungen in den textView

zeigen, wie diese logischen Fehler entfernen?

Garbage Wert:

Garbage value in textview

Nach der App zu schließen und erneut zu öffnen:

enter image description here

Antwort

0

sollten Sie schreiben c = sp.getInt (Salaryflag, 0); in Ihrem Lebenslauf auch, wie Sie C-Lola zu c zuweisen.

Wenn Sie die Aktivität neu starten, wird die Zeile c = sp.getInt (Salaryflag, 0) zuerst ausgeführt, so dass sie perfectly angezeigt wird.

Wenn Sie von B nach A kommen, wird die onResume() von A aufgerufen, so dass Sie die Variable c auch in onResume() initialisieren/zuweisen müssen.

+0

lass mich es zuerst versuchen! –

Verwandte Themen