我正在尝试做的是查询一个类并获得一些字符串。 但是下面的代码会返回类似的内容;
com.parse.ParseObject@b4209180
我无法将其设置为正常的字符串值。
ParseQuery<ParseObject> query = ParseQuery.getQuery("question");
//query.whereKeyExists:@"objectId"
query.whereExists("questionTopic");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> topics, ParseException e) {
// TODO Auto-generated method stub
if(e==null){
textview.setText(topics.toString());
}
}else{
Log.d("notretreive", "Error: " + e.getMessage());
}
}
});
答案 0 :(得分:1)
“主题”是问题对象列表。您需要从该对象获取主题。这应该让你顺利:
ParseQuery<ParseObject> query = ParseQuery.getQuery("question");
query.whereExists("questionTopic");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> questions, ParseException e) {
// The query returns a list of objects from the "questions" class
if(e==null){
for (ParseObject question : questions) {
// Get the questionTopic value from the question object
Log.d("question", "Topic: " + question.getString("questionTopic");
}
} else {
Log.d("notretreive", "Error: " + e.getMessage());
}
}
});
答案 1 :(得分:0)
我可以看到类ParseObject
从Object类继承toString()
。
这意味着除非有自定义toString()的实现,否则它将返回该对象的人类可读描述。
检查here是否在您的案例中调用了toString()
修改强>
首先,你试图通过
调用List对象上的toString()topics.toString()
你必须像
那样遍历该列表for(ParseObject parseObj : topics){
//do something with parseObj like
parseObj.get(<provide_key_here>);
//print to check the value
System.out.println(parseObj.get(<provide_key_here>));
//where key is generally attribute name
}
答案 2 :(得分:0)
我可以看到这已经有两年了。但我目前遇到同样的问题。这就是我所做的。
您不能只调用setText.toString,因为&#34;主题&#34;作为Parse对象返回。您需要运行for循环来遍历每个主题对象并从该对象获取文本,将其存储在字符串中,然后您可以将文本设置为字符串。这就是我所做的。
final List questions = new ArrayList<String>();
final ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("MasterQuestionList");
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> Question, ParseException e) {
if (e == null) {
if (Question.size() > 0) {
for (ParseObject user : Question) {
String tFile = (String) user.get("Question");
questions.add(tFile);
}
TextView a = (TextView) findViewById(R.id.sentence);
a.setText(String.valueOf(questions));
我创建了一个列表,并将所有文本值添加到该列表中。
希望这有助于任何遇到类似问题的人。