我有一个 Game 类,其中包含一个 ParseUsers 数组,其中包含关键“玩家”:
@ParseClassName(Game.GAME)
public class Game extends ParseObject {
public static final String PLAYERS = "players";
public void addPlayer(ParseUser player) {
addUnique(PLAYERS, player);
}
public List<ParseUser> getPlayers() {
return getList(PLAYERS);
}
}
玩家的姓名字段填充如下:
ParseUser.getCurrentUser().put("name", name);
我想获取这些玩家的姓名并填充 ListView。我正在尝试弄清楚如何使用 ParseQueryAdapter 来执行此操作,但我无法弄清楚任何可以让您执行 ParseQuery 以选择在 Game 上的数组中找到的 ParseUsers 或将 ParseQuery 转换为查询的方法ParseUsers 基于该数组。这是我最好的选择,但我不知道如何只选择这个查询的孩子:
ListView playerListView = (ListView) findViewById(R.id.player_list);
ParseQueryAdapter<ParseUser> adapter = new ParseQueryAdapter<ParseUser>(this,
new ParseQueryAdapter.QueryFactory<ParseUser>() {
public ParseQuery create() {
ParseQuery query = game.getQuery();
query.include(Game.PLAYERS);
return query;
}
});
adapter.setTextKey("name");
playerListView.setAdapter(adapter);
编辑:对我来说,保持这个数组中玩家的顺序也很重要。