我刚刚经历了一种奇怪的旗帜行为。我正在 android 中编写一个应用程序,我需要使用一个标志来检查警报是否被触发。最初它被设置为0,一旦警报被触发,它应该将其值改为1.
我知道我应该使用int
数据类型创建一个标志,但我使用String
创建并将其值设置为0.
String flag = "0";
我将标志存储在 sqlite 数据库的每一行,其中包含警报的详细信息。
当警报通知用户任务时,标志会自动将其值从0更改为1 。这怎么可能?我的标记有 String
数据类型,当触发警报时,我甚至没有将其值设置为1
。它如何自动更改值?
编辑:
如果我创建变量 guard
而不是flag
并将其值初始化为no
,那么在闹铃响起后它就不会改变。
String guard = "no";
通知用户后,此值不会自动更改。那么flag的值如何自行改变?