问题就像标题一样,我试图计算具有相同名称的用户(我已定义),我使用$BUNDLE_PATH
或countinbackground
,无论我做了什么,计数总是findinbackground
。有谁能帮助我,我不知道为什么。非常感谢。以下是我的代码:
0
答案 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:
}