2016-09-29 83 views
0

製作我有兩個活動:讓我們說一個垃圾得到價值在TextView中

一個具有使用intent概念打開按鈕。

通過我在數據庫使用SQLite概念保存數據。

A是主要活動有一個textView這是顯示出一些價值!

代碼:

使用SharedPreferences以int值並顯示

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

     tv.setText(str); 

現在我使用一些算法來計算sum()在一個行存放在MainActivity 在數據庫中存儲其值在int變量

現在在onResume我正在使用此概念來更改AtextView的值! :

@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); 

    } 

現在我想的是,當我回去從第二Acitvity 一個應立即顯示更改。

但實際是呈現出一些垃圾值,當我關閉話,就說明在textView

所需的更改後重新啓動應用程序如何刪除此邏輯錯誤?

垃圾值:

Garbage value in textview

關閉所述應用程序和重新打開它後:

enter image description here

回答

0

你應該寫C = sp.getInt(Salaryflag,0);在您的簡歷中,因爲您正在將c-lola分配給c。

當您重新啓動活動時,行c = sp.getInt(Salaryflag,0)將首先執行,以便它顯示完整。

當你從B到A時,A的onResume()被調用,所以你必須在onResume()中初始化/賦值變量c。

+0

讓我試試看! –