[英]use specific value from ParseObject to a new query
I'm trying to get the value relatedGuild
from ParseObject relationShipObject
that has been sent to another method. 我试图获得价值
relatedGuild
从ParseObject relationShipObject
已发送到另一种方法。
My code: 我的代码:
private void getRelation(){
Log.i("Status:", "Retrieving current user...");
//Retrieve the current logged in user
ParseUser currentUser = ParseUser.getCurrentUser();
Log.i("Status:", "Retrieving relationship...");
//Retrieve the relationship object for currentUser
ParseQuery<ParseObject> relationQuery = ParseQuery.getQuery("relation");
query.whereEqualTo("relatedUser", currentUser);
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> relationShip, ParseException e) {
if (e == null) {
for (ParseObject relationShipObject : relationShip) {
// This does not require a network access.
relationshipObject.get("relatedGuild");
getGuild(relationShipObject);
}
} else {
Log.d("relation", "Error: " + e.getMessage());
}
}
});
}
private void getGuild(ParseObject relationShipObject){
Log.d("relation", "relationShipObject:" + relationShipObject.getString("relatedGuild"));
}
When i call Log.d
in method getGuild
i get a value equal to null
. 当我在方法
getGuild
调用Log.d
,我得到一个等于null
。 Am I trying to retrieve the value from row relatedGuild
the wrong way? 我是否尝试以错误的方式从
relatedGuild
检索值? If yes, do you have any solution to the problem? 如果是,您有解决问题的办法吗?
Update: When i change from getString
to get("relatedGuild").toString()
, i get a value that looks like this: com.parse.ParseObject@21u702b7
. 更新:当我从
getString
更改为get("relatedGuild").toString()
,我得到的值看起来像这样: com.parse.ParseObject@21u702b7
。 That means relationShipObject
contains some kind of value i don't know how to retrieve. 这意味着
relationShipObject
包含某种我不知道如何获取的值。
Try this: 尝试这个:
private void getRelation(){
Log.i("Status:", "Retrieving current user...");
//Retrieve the current logged in user
ParseUser currentUser = ParseUser.getCurrentUser();
Log.i("Status:", "Retrieving relationship...");
//Retrieve the relationship object for currentUser
ParseQuery<ParseObject> relationQuery = ParseQuery.getQuery("relation");
query.whereEqualTo("relatedUser", currentUser);
query.include("relatedGuild"); // <-THIS INCLUDES THE OBJECT BEHIND THE POINTER
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> relationShip, ParseException e) {
if (e == null) {
for (ParseObject relationShipObject : relationShip) {
// This does not require a network access.
relationshipObject.get("relatedGuild");
getGuild(relationShipObject);
}
} else {
Log.d("relation", "Error: " + e.getMessage());
}
}
});
}
private void getGuild(ParseObject relationShipObject){
Log.d("relation", "relationShipObject:" + relationShipObject.getString("relatedGuild"));
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.