ParseUser.logout() 的不当行为
Misbehaviour of ParseUser.logout()
编写一个小代码片段,其中在满足某些条件后注销 ParseUser。有时它工作得很好,有时它会抛出如下所示的 classcastexpection
java.lang.classcastexception: org.json.jsonobject cannot be cast to
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;
}
}
请帮我解决这个问题。
谢谢
这个问题(很可能)是因为您正在调用 currUser1.saveInBackground();
而您没有在 ParseUser.logOut();
.
之前等待它的结果
为了更好地了解情况是否如此,请尝试更改
currUser1.saveInBackground();
到
currUser1.save();
编写一个小代码片段,其中在满足某些条件后注销 ParseUser。有时它工作得很好,有时它会抛出如下所示的 classcastexpection
java.lang.classcastexception: org.json.jsonobject cannot be cast to 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;
}
}
请帮我解决这个问题。 谢谢
这个问题(很可能)是因为您正在调用 currUser1.saveInBackground();
而您没有在 ParseUser.logOut();
.
为了更好地了解情况是否如此,请尝试更改
currUser1.saveInBackground();
到
currUser1.save();