显示查询结果Parse.com android
我有一个问题,听起来可能很傻,但我真的不知道怎么做,需要一个答案 在parse.com中完成查询后,如何显示结果 比如这个显示查询结果Parse.com android,android,parse-platform,Android,Parse Platform,我有一个问题,听起来可能很傻,但我真的不知道怎么做,需要一个答案 在parse.com中完成查询后,如何显示结果 比如这个 ParseQuery<ParseObject> gameQuery = ParseQuery.getQuery("Game"); gameQuery.whereEqualTo("createdBy", ParseUser.getCurrentUser()); 更新2: public class Adapter extends ParseQueryAdapter
ParseQuery<ParseObject> gameQuery = ParseQuery.getQuery("Game");
gameQuery.whereEqualTo("createdBy", ParseUser.getCurrentUser());
更新2:
public class Adapter extends ParseQueryAdapter<ParseObject> {
//MediaPlayer mediaPlayer;
public Adapter(Context context) {
super(context, new ParseQueryAdapter.QueryFactory<ParseObject>() {
public ParseQuery create() {
ParseQuery query = new ParseQuery("Game");
userQuery.whereEqualTo("createdBy", ParseUser.getCurrentUser());
query.include("createdBy");
return query;
}
});
}
// Customize the layout by overriding getItemView
@Override
public View getItemView(final ParseObject object, View v, ViewGroup parent) {
if (v == null) {
v = View.inflate(getContext(), R.layout.list_item, null);
}
super.getItemView(object, v, parent);
// I'm getting Images from Game class
ParseImageView audioImage = (ParseImageView) v.findViewById(R.id.list_image);
ParseFile imageFile = object.getParseFile("img");
if (imageFile != null) {
audioImage.setParseFile(imageFile);
audioImage.loadInBackground();
}//end if
//retrieving Titles from Game Class
TextView titleTextView = (TextView) v.findViewById(R.id.list_title);
titleTextView.setText(object.getString("title"));
//Now I want to retrieve name from User Class :(
// the code is crashing my app
//?????????????????????????????????????????????????
// You can get fields using the get() method
ParseUser user = (ParseUser) object.get("createdBy");
// There are data specific methods as well
String firstName = user.getString("name");
nameTextView.setText(firstName);
return v;
}//end getItem View
}//end custom Adapator
公共类适配器扩展了ParseQueryAdapter{
//媒体播放器;
公共适配器(上下文){
super(上下文,新的ParseQueryAdapter.QueryFactory(){
公共ParseQuery创建(){
ParseQuery=新的ParseQuery(“游戏”);
userQuery.whereEqualTo(“createdBy”,ParseUser.getCurrentUser());
查询。包括(“createdBy”);
返回查询;
}
});
}
//通过覆盖getItemView自定义布局
@凌驾
公共视图getItemView(最终ParseObject对象、视图v、视图组父对象){
如果(v==null){
v=视图.充气(getContext(),R.layout.list_项,null);
}
super.getItemView(对象,v,父对象);
//我从游戏课上得到图像
ParseImageView音频图像=(ParseImageView)v.findViewById(R.id.list_图像);
ParseFile imageFile=object.getParseFile(“img”);
if(imageFile!=null){
audioImage.setParseFile(imageFile);
audioImage.loadInBackground();
}//如果结束
//从游戏类检索标题
TextView titleTextView=(TextView)v.findViewById(R.id.list_title);
titleTextView.setText(object.getString(“title”);
//现在我想从用户类中检索名称:(
//代码正在破坏我的应用程序
//?????????????????????????????????????????????????
//可以使用get()方法获取字段
ParseUser=(ParseUser)object.get(“createdBy”);
//还有一些特定于数据的方法
String firstName=user.getString(“name”);
nameTextView.setText(名字);
返回v;
}//end getItem视图
}//终端自定义适配器
使用findInBackground执行查询,并传递回调以处理结果。在回调中,您将在文本视图中显示一些内容是的,正如我所说,上面的代码就是一个示例。如果您可以在问题中更具体地显示一些代码和您想做的事情,我可以给出更具体的答案。obj可以使用getObjectId()
方法访问eCId。请参阅上面的更新。是的,您可以强制转换。此外,要访问列表中的所有对象,请使用@McGuile的答案之类的循环。然后,零是要从列表中获取ParseObject的索引(如访问数组)。您可以使用以下方法获取objectId:game.getObjectId()
可能需要更新2。您已经有了一个查询,可以在public ParseQuery create()
方法中获取游戏。添加.include(“createdBy”)
在那里。您可能不需要在getItemView
中再进行查询,我会看看我能做些什么。我知道Parse,但我对多媒体没有太多经验。但我相信SO社区中有很多人愿意提供帮助。
ParseQuery<ParseObject> gameQuery = ParseQuery.getQuery("Game");
gameQuery.whereEqualTo("createdBy", ParseUser.getCurrentUser());
gameQuery.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> gameList, ParseException e) {
if (e == null) {
ParseObject game = gameList.get(0); // Gets first object
// You can get fields using the get() method
ParseUser user = game.get("createdBy");
// There are data specific methods as well
String firstName = user.getString("userFirstName");
textview.setText(firstName);
} else {
Log.d("score", "Error: " + e.getMessage());
}
}
});
ParseQuery<ParseObject> userQuery = ParseQuery.getQuery("Game");
userQuery.whereEqualTo("createdBy", ParseUser.getCurrentUser());
userQuery.include("createdBy");
public class Adapter extends ParseQueryAdapter<ParseObject> {
//MediaPlayer mediaPlayer;
public Adapter(Context context) {
super(context, new ParseQueryAdapter.QueryFactory<ParseObject>() {
public ParseQuery create() {
ParseQuery query = new ParseQuery("Game");
userQuery.whereEqualTo("createdBy", ParseUser.getCurrentUser());
query.include("createdBy");
return query;
}
});
}
// Customize the layout by overriding getItemView
@Override
public View getItemView(final ParseObject object, View v, ViewGroup parent) {
if (v == null) {
v = View.inflate(getContext(), R.layout.list_item, null);
}
super.getItemView(object, v, parent);
// I'm getting Images from Game class
ParseImageView audioImage = (ParseImageView) v.findViewById(R.id.list_image);
ParseFile imageFile = object.getParseFile("img");
if (imageFile != null) {
audioImage.setParseFile(imageFile);
audioImage.loadInBackground();
}//end if
//retrieving Titles from Game Class
TextView titleTextView = (TextView) v.findViewById(R.id.list_title);
titleTextView.setText(object.getString("title"));
//Now I want to retrieve name from User Class :(
// the code is crashing my app
//?????????????????????????????????????????????????
// You can get fields using the get() method
ParseUser user = (ParseUser) object.get("createdBy");
// There are data specific methods as well
String firstName = user.getString("name");
nameTextView.setText(firstName);
return v;
}//end getItem View
}//end custom Adapator