ParseUser.logout()的不当行为

时间:2015-11-29 20:50:33

标签: java android parse-platform logout

编写一个小代码片段,在满足某些条件后注销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;
    }
}

请帮我解决这个问题。 感谢

1 个答案:

答案 0 :(得分:1)

问题是(最肯定的),因为您正在调用currUser1.saveInBackground();并且您未在ParseUser.logOut();之前等待其结果。

为了更好地了解是否尝试更改

currUser1.saveInBackground();

currUser1.save();