Я пытаюсь получить данные с Parse.com и следую инструкциям и примерам на своем сайте, но я столкнулся с проблемой, которую я не могу исправить. Запрошенный запрос всегда пуст. Я использую следующий кодAndroid ParseQueryAdapter всегда пуст
public void createParseQuery(final int markerId){
ParseQueryAdapter.QueryFactory<CommentPost> queryAdapterFactory =
new ParseQueryAdapter.QueryFactory<CommentPost>() {
public ParseQuery<CommentPost> create() {
ParseQuery<CommentPost> parseQuery = CommentPost.getQuery();
parseQuery.whereEqualTo("markerId", markerId);
parseQuery.include("comment"); //comment define
parseQuery.include("rating");
return parseQuery;
}
};
queryAdapter = new ParseQueryAdapter<CommentPost>(this, queryAdapterFactory) {
@Override
public View getItemView(CommentPost post, View view, ViewGroup viewGroup){
if (view == null) {
view = View.inflate(getContext(), R.layout.item_comment_post, null);
}
TextView textViewPostUsername = (TextView) view.findViewById(R.id.textViewPostUsername);
TextView textViewPostComment = (TextView) view.findViewById(R.id.textViewPostComment);
RatingBar ratingBarPostRating = (RatingBar) view.findViewById(R.id.ratingBarPostRating);
textViewPostUsername.setText(post.getUser().getUsername());
textViewPostComment.setText(post.getComment());
ratingBarPostRating.setProgress(post.getRating());
return view;
}
};
Boolean adapterEmpty= queryAdapter.isEmpty();
Log.i("DEBUG","Adapter is empty "+adapterEmpty);
ListView lv = (ListView)findViewById(R.id.listView111);
lv.setAdapter(queryAdapter);
}
Здесь adapterEmpty всегда возвращает «true», а listView не обновляется. класс
CommentPost:
@ParseClassName("data")
public class CommentPost extends ParseObject {
ParseUser user;
int markerId;
String comment;
int rating;
public CommentPost() {
super();
}
public String getComment() {
return getString("comment");
}
public ParseUser getUser() {
return getParseUser("user");
}
public int getRating() {
return getInt("rating");
}
public void setComment(ParseUser user, int markerId, String comment,
int rating) {
put("user", user);
put("markerId", markerId);
put("comment", comment);
put("rating", rating);
}
public static ParseQuery<CommentPost> getQuery() {
return ParseQuery.getQuery(CommentPost.class);
}
}
Когда я сделать этот код (из учебника на сайте Разбор):
mainAdapter = new ParseQueryAdapter<ParseObject>(this, "data");
mainAdapter.setTextKey("comment");
ListView lv = (ListView)findViewById(R.id.listView111);
lv.setAdapter(mainAdapter);
он работает нормально, я получаю все сохраненные комментарии для "данных" класса, но мне нужен индивидуальный запрос. Любая помощь была бы принята с благодарностью :)
Спасибо, что поделились своим кодом, это очень помогло мне с аналогичной проблемой, с которой я столкнулся – Kurtis92