提问人:Kim HJ 提问时间:7/8/2023 最后编辑:Kim HJ 更新时间:7/11/2023 访问量:68
布尔值在 Android 中始终转换为零
Boolean always convert to zero in Android
问:
我正在使用 Android Studio 花栗鼠 2021.2.1 补丁 1 Android Studio 花栗鼠 |2021.2.1 补丁 1 目标 SDK 31,最低 SDK 23
我正在从如下所示的 Web 服务导入数据: 我添加了最后七个布尔值。呼叫以前就在那里,并且一直有效,但我添加的七个总是返回 0。
“accountnum”:“9922264”,“oncall”:true,“oncalldate”:null,“routepausefrom”:null,“routepauseto”:null,“mon”:true,“tue”:true,“温”:null,“thu”:null,“fri”:null,“sat”:null,“sun”:null
然后我添加到sqlite数据库;
cusdatasource.createCustomer(Integer.parseInt(customerResult.d.results.get(i).accountnumStr),(customerResult.d.results.get(i).oncallBool) ? 1:0, OnCallDate, FromDate, ToDate,(customerResult.d.results.get(i).monBool) ? 1:0,(customerResult.d.results.get(i).tueBool) ?1:0, (customerResult.d.results.get(i).wenBool) ? 1:0,(customerResult.d.results.get(i).thuBool) ? 1:0,(customerResult.d.results.get(i).friBool) ?1:0, (customerResult.d.results.get(i).satBool) ? 1:0,(customerResult.d.results.get(i).sunBool) ?1:0);
下面是添加到数据库之前填充的变量。
呼叫 = 1 OnCallDate = “ ” cusurl = “” vacfrom = “ ” vacto = “ ” 星期一 = 0 星期二 = 0 星期三 = 0 星期四 = 0 星期五 = 0 星期六 = 0 星期日 = 0
除了第一个 onCall 之外,所有布尔值都转换为 1 或 0,具体取决于它是 true 还是 false,但所有其他布尔值始终转换为 0。 我花了几个小时寻找一些东西,但是所有变量的所有设置对于工作变量和不工作变量都是相同的。
感谢您的帮助。
答:
我发现了问题,具有 SerializedName 的 Customer 类区分大小写,因此即使 Web 服务的结果也是正确的,SerializedName 没有找到名称,因为我有 Mon 而不是 mon。
评论
(customerResult.d.results.get(i).oncallBool) ? 1:0
oncallBool