从另一个类返回时变量中的值丢失

时间:2012-07-19 08:01:54

标签: java android variables

在A类中使用变量v,但是当我转到B类然后返回到A类时要更改的值。当我返回到A类时,该值是初始值。我们可以通过添加final变量或static来修复它以保持其值吗?

enter image description here

由于

1 个答案:

答案 0 :(得分:3)

如果您在谈论Android的Activity课程,解决方法是使用static,因为每次启动新活动时,启动活动都会“暂停”(其onPause()方法被称为)。在新启动的Activity中按下“后退”按钮时,将恢复堆栈中的上一个活动并调用其onResume()方法。

然而,static个变量只初始化一次。此外,变量的单个副本由类/ Activity的所有实例共享,因此使用static的另一个好处是可以修改任何其他类的值。

在您的情况下,您可能正在onResume()方法中初始化非静态变量,因此从另一个活动返回会重新初始化其值。

在使用普通Java类从另一个类使用函数后返回控件时,不应该发生同样的情况。