在textView中生成垃圾值

时间:2016-09-29 07:27:25

标签: java android sqlite garbage-collection

我有两项活动:让我们说 A B

A 有一个按钮,可以使用intent概念打开 B

通过 B 我使用SQLite概念在数据库中保存数据。

A 是主要活动,textView显示某个值!

代码:

使用SharedPreferences存储int值并在MainActivity中显示 A

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

        tv.setText(str);

现在我使用一些算法在数据库中的一个中计算sum()并将其值存储在 int 变量中

现在在onResume我正在使用此概念来更改 A textView的值! :

@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 B 回到 A 时,它应该立即显示更改。

但实际上它显示了一些垃圾值,当我在关闭后重新启动应用程序时,它会在textView

中显示所需的更改

如何删除此逻辑错误?

垃圾值:

Garbage value in textview

关闭应用并重新打开后:

enter image description here

1 个答案:

答案 0 :(得分:0)

你应该写c = sp.getInt(Salaryflag,0);在你的简历上,因为你将c-lola分配给c。

当您重新启动活动时,行c = sp.getInt(Salaryflag,0)首先被执行,因此它会显示出来。

当你从B到A时,A的onResume()会被调用,所以你必须在onResume()中初始化/赋值变量c。