Я попытался создать метод, который получит пользователя по имени пользователя. Я использую синтаксический анализ. Вот мой метод:Android - Parse.com - Возвращаемый объект из запроса обратного вызова
public ParseUser getUserByName(String name){
ParseUser user;
ParseQuery<ParseUser> query = ParseQuery.getQuery("_User");
query.whereEqualTo("username", name);
query.getFirstInBackground(new GetCallback<ParseUser>() {
public void done(ParseUser result, ParseException e) {
if (result== null) {
Log.d("user", "Get user failed.");
} else {
user= result; // Compile error here, said: "Variable 'user' need to be declared final"
}
}
});
return user;
}
Он выполнил ошибку, и сказал, что: «Variable„пользователь“должен быть объявлен окончательный». Но, если бы я заявил:
final ParseUser user;
поэтому я не могу присвоить результат поиска пользователя:
else {
user= result; // Can't assign to user, because it's final.
}
Так как я могу получить и вернуть результат поиска из обратного вызова запроса? Пожалуйста, помогите. Благодарю.
он работал! Большое спасибо за вашу помощь .... и кстати. Я вижу, что вы используете query.getFirst() вместо query.getFirstInBackground(). Не могли бы вы рассказать мне, какие различия между ними. И как я могу сделать, если я хочу использовать query.getFirstInBackground()? Еще раз спасибо – ThanhTran
принимаем если помогло. !! –
Спасибо за вашу восторженную помощь ...! – ThanhTran