活动有问题?

Issue with activities?

我已经尝试解决这个问题很长时间了。基本上,我制作了一个随机调用另一个 activity (来自数组)并显示它的应用程序。我想尝试计算我的应用程序中的活动数量。

所以,我创建了一个新的java class,以全局使用其中的变量:

如您所见,其中包含变量 activityCountNumber。现在,我在 every activity:

中有以下代码
        activityCount.activityCountNumber += 1;

从逻辑上讲,这应该采用上面显示的变量,并将其值增加 1。我遇到的奇怪问题是,当我最终打印出我过去的活动数量时,我得到了一些奇怪的数字:

基本上,如果我在 8 秒内完成 5 个活动,我的 phone 上的文字将变为:

Got passed this many activities: 15 in this many seconds: 8

尽管应该是:

Got passed this many activities: 5 in this many seconds: 8

我用来更改活动的代码:

请帮助我,因为我已经坚持了很长时间。它既奇怪又有趣,因为从逻辑上讲,显示的数字只是随机的!感谢您的帮助,如果您需要查看任何其他代码,请告诉我!

万圣节快乐!

{Rich}

我相信您想计算每个 activity 在您的应用程序中被触发的次数,一旦应用程序关闭,您不想保留该数字。因此,当应用程序为 运行 时,它应该会为您提供它访问过的活动的计数。

如果是这样的话,那我想试试这个方法:-

1) 我将在每个活动中声明长计数器,但我只会在第一个 activity 中定义一次。然后,我将使用 putExtra 将此计数器传递给我要触发的每个下一个意图。并在您将此值发送到的每个下一个意图中使用 getIntent 检索此值。

或者,您可以这样尝试:-

在你的 main class 中定义以下内容,假设 MyData 是我的 main class 那么-

public class 我的数据 {

私有静态整型数据; public static int getData() {return 数据;}

}

然后从启动 activity,使用

int 数据 = MyData.getData() + 1;

问题已解决。
为了找到问题,我们使用 LogCat,每 Activity 我们将 activityCountNumber 打印到日志(Rich 的天才想法)并发现问题出在哪里。

之后我们检查导致它的原因并修复它。

最后,我们处理了屏幕旋转,因此 Activity 不会再次调用 onCreate,问题就完全解决了。

万圣节快乐:)