我一直试图解决这个问题很长一段时间。基本上,我已经制作了一个应用程序,可以随机调用另一个活动(来自数组)并显示它。我想尝试计算我的应用程序中的活动数量。
如您所见,它中包含变量activityCountNumber。现在,我在每个活动中都有以下代码:
activityCount.activityCountNumber += 1;
这在逻辑上应该采用上面显示的变量,并将其值增加1.我遇到的奇怪问题是,当我最终打印出我过去的活动数量时,我会得到一些奇怪的数字:< / p>
基本上,如果我在8秒内完成5项活动,手机上的文字将会改为:
Got passed this many activities: 15 in this many seconds: 8
即使它应该是:
Got passed this many activities: 5 in this many seconds: 8
请帮助我,因为我已经坚持了很长时间。虽然它同时很奇怪有趣,但从逻辑上讲,显示的数字只是随机的!感谢您的帮助,如果您需要查看任何其他代码,请告诉我们!
万圣节快乐!
{Rich}
答案 0 :(得分:1)
问题解决了。
为了找到我们使用LogCat的问题,每Activity
我们将activityCountNumber
打印到Log(Rich的天才想法),并发现问题出在哪里。
之后我们检查导致它的原因并修复它。
最后,我们处理了屏幕旋转,以便Activity
赢得再次调用onCreate并完全解决问题。
答案 1 :(得分:0)
我相信您希望计算在您的应用中触发每项活动的次数,一旦应用关闭,您就不想保留该号码。因此,当应用程序运行时,它应该为您提供它访问过的活动的计数。
如果是这种情况,那么我想尝试这种方式: -
1)我将在每个活动中声明长计数器,但是我将仅在第一个活动中定义一次。然后我会使用putExtra将此计数器传递给我正在触发的每个下一个意图。并使用getIntent在您将此值发送到的每个下一个意图中检索此值。
或者,您可以尝试这种方式: -
在主类中定义以下内容,假设MyData是我的主类 -
公共类MyData {
私有静态int数据; public static int getData(){return data;}
}
然后从已启动的活动中,使用
int data = MyData.getData()+ 1;