编写一个小代码片段,在满足某些条件后注销ParseUser。有时候它可以完美地工作,有时它会抛出如下所示的classcastexpection
java.lang.classcastexception:org.json.jsonobject $ 1无法强制转换为 java.lang.String中
我无法弄清楚为什么会这样?
这是我的代码段: -
ParseUser currUser1 = ParseUser.getCurrentUser();
currUser1.put("isLogin", false);
currUser1.saveInBackground();
Log.d("UserToLogout", currUser1.getUsername());
int counter=0;
while(counter<11) {
if (currUser1.getBoolean("isLogin")) {
Log.d("bit", String.valueOf(currUser1.getBoolean("isLogin")));
counter = counter + 1;
} else {
Log.d("bit_0", String.valueOf(currUser1.getBoolean("isLogin")));
ParseUser.logOut();
break;
}
}
请帮我解决这个问题。 感谢
答案 0 :(得分:1)
问题是(最肯定的),因为您正在调用currUser1.saveInBackground();
并且您未在ParseUser.logOut();
之前等待其结果。
为了更好地了解是否尝试更改
currUser1.saveInBackground();
到
currUser1.save();