【发布时间】:2016-01-30 20:37:21
【问题描述】:
请你给我一些想法,也许是部分代码,我正在尝试从 Parse.com 表中获取数据,并在我的 Android 手机上以 TextView 或 TableView 的形式显示它。
我可以设法得到一个值,但是表中应该显示三个值。
我似乎无法弄清楚我哪里出错了!任何帮助将不胜感激...
private void forLoadingView(String c_id) throws ParseException
{
ParseQuery<ParseObject> query = ParseQuery.getQuery("Review");
query.whereEqualTo("c_id", c_id);
query.orderByDescending("rating");
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> reviewList, ParseException e) {
if (e==null && reviewList!= null)
{
for(ParseObject object : reviewList) {
String score = object.getString("rating");
String review = object.getString("review");
String name = object.getString("name");
reviews.setText(review + " " + name + " " + score);
}
}
else
{
Log.d("score", "Error: " + e.getMessage());
}
}
});
编辑:
现在我的代码看起来更像这样:
final List<String> infoList = new ArrayList<String>();
List<String> result = new ArrayList<String>();
ParseQuery<ParseObject> query =
new ParseQuery<ParseObject>("Review");
query.whereEqualTo("c_id", c_id);
query.orderByDescending("rating");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
if (e == null) {
//fill your list or adapter by using objects
for(ParseObject obj : objects) {
infoList.add(object.getString("score"));
infoList.add(object.getString("review"));
infoList.add(object.getString("name"));
}
}
}
});
reviews.setText(infoList.toString());
但它仍然没有打印出来......而是有一个空指针异常,因为(我猜)信息没有被发送到 infoList。你有什么想法吗?
谢谢!
【问题讨论】:
-
这是什么意思? query.whereEqualTo("c_id", c_id);你不是在这里查询特定的ID吗?三个对象是否共享相同的 c_id ?
-
是的,所有对象共享同一个 C_id
标签: java android database parse-platform