解析查询不起作用

时间:2015-10-30 17:33:21

标签: android parse-platform

问题就像标题一样,我试图计算具有相同名称的用户(我已定义),我使用$BUNDLE_PATHcountinbackground,无论我做了什么,计数总是findinbackground。有谁能帮助我,我不知道为什么。非常感谢。以下是我的代码:

0

1 个答案:

答案 0 :(得分:0)

我猜你不知道findInBackground方法是异步的,这就是你在里面有回调的原因。您可能希望在Android和Parse中了解有关线程和异步任务的更多信息。

以下是您希望拥有的正确代码:

public void checknameunique(String n) {

    ParseQuery<Userdata> query = ParseQuery.getQuery(Userdata.class);
    query.whereEqualTo("name", n);

    query.findInBackground(new FindCallback<Userdata>() {
        @Override
        public void done(List<Userdata> res, ParseException e) {
            if(e == null) {
                int size = res.size();

                if(res.size() > 0) {
                    showMessage("Username already exist");
                } else {
                    proceed();
                }
            } else {
                showMessage(e.getMessage());
            }
        }
    });
}

private void showMessage(String message) {
    Toast.makeText(this, message, Toast.LENGTH_LONG).show();
}

private void proceed() {
    //TODO:
}