android - ParseObject 中解析查询的问题
问题描述
我在处理这个查询时遇到了问题。
我想在这里完成的是根据 idChatSeleccionadoAppUsuario(KYLmvSGP1…) 我可以在列表中包含所有消息和用户(Usuario)。这是我到目前为止所尝试的:
ParseQuery<ParseObject> query = ParseQuery.getQuery("Conversaciones");
queryChat=ParseObject.createWithoutData("Chat",idChatSeleccionadoAppUsuario);
query.whereEqualTo("ChatId", queryChat);
query.include("Usuario");
query.include("ChatId");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
for (ParseObject obj : objects) {
mensaje = obj.getString("Mensaje");
Log.i("UFF", "Este es el mensaje" + mensaje);
enviaMensaje = (ParseUser) obj.get("Usuario");
Log.i("UFF", "Este es el usuario del chat---->:" + enviaMensaje.getObjectId());
chatId = obj.getParseObject("ChatId");
Log.i("UFF", "Este es el id del chat---->:" + chatId);
//idChatSeleccionado=chatId.getObjectId();
listaDeMensajes.add(obj);
}
mMessageAdapter = new MessageListAdapter(getContext(), listaDeMensajes);
mMessageRecycler.setAdapter(mMessageAdapter);
queryFromChat();
}
});
}
也试过这个:
ParseQuery query = ParseQuery.getQuery(“Conversaciones”);
query.whereEqualTo(“ChatId”, idChatSeleccionadoAppUsuario);
query.include(“Usuario”);
query.include(“ChatId”);
query.findInBackground(new FindCallback() {
@Override
public void done(List objects, ParseException e) {
for (ParseObject obj : objects) {
mensaje = obj.getString(“Mensaje”);
Log.i(“UFF”, “Este es el mensaje” + mensaje);
enviaMensaje = (ParseUser) obj.get("Usuario");
Log.i("UFF", "Este es el usuario del chat---->:" + enviaMensaje.getObjectId());
chatId = obj.getParseObject("ChatId");
Log.i("UFF", "Este es el id del chat---->:" + chatId);
//idChatSeleccionado=chatId.getObjectId();
listaDeMensajes.add(obj);
}
mMessageAdapter = new MessageListAdapter(getContext(), listaDeMensajes);
mMessageRecycler.setAdapter(mMessageAdapter);
queryFromChat();
}
});
}
目前两者都返回 listaDeMensajes=0
解决方案
最后这是检索查询的方法......它总是但是这篇文章可以帮助很多人......
ParseQuery<ParseObject> query = ParseQuery.getQuery("Conversaciones");
queryChat=ParseObject.createWithoutData("Chat",idChatSeleccionadoAppUsuario);
query.whereEqualTo("ChatId", queryChat);
query.include("Usuario");
query.include("ChatId");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
for (ParseObject obj : objects) {
mensaje = obj.getString("Mensaje");
Log.i("UFF", "Este es el mensaje" + mensaje);
enviaMensaje = (ParseUser) obj.get("Usuario");
Log.i("UFF", "Este es el usuario del chat---->:" + enviaMensaje.getObjectId());
chatId = obj.getParseObject("ChatId");
Log.i("UFF", "Este es el id del chat---->:" + chatId);
//idChatSeleccionado=chatId.getObjectId();
listaDeMensajes.add(obj);
}
mMessageAdapter = new MessageListAdapter(getContext(), listaDeMensajes);
mMessageRecycler.setAdapter(mMessageAdapter);
queryFromChat();
}
});
}
推荐阅读
- javascript - 显示来自ajax的数据后阅读更多和更少不起作用
- laravel - 在一条记录中导入多个 id
- node.js - 是否可以在不安装模块的情况下在 NodeJS 中使用 DigestAuthentidfication?
- python - 内存未释放,即使对象引用计数为 0
- scala - DataFrame如何在包含多维数组的列中添加
- javascript - 从元素中获取文本
- python - Spacy:如何在特殊情况标记化规则列表中添加冒号字符
- javascript - 将数组映射到表,其中一个列应该与另一个数组映射
- html - 网站的左侧和顶部有边距
- css - react/next.js 中的 * 选择器