java - 如何为项目数组创建 ParseQuery?

标签 java android listview parse-platform android-parsequeryadapter

我有一个 Game 类,其中包含一个带有键“players”的 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);

编辑:对于我来说,保留此数组中玩家的顺序也很重要。

最佳答案

我会做更多类似的事情。您需要通过某个键值查询玩家对象,将它们设置为大厅或房间以填充列表。这并不完全是您的做法,但查询的工作方式类似。我希望这有帮助。至于加载到列表属性中,我不确定这是否能完成工作:/

ParseQueryAdapter<Post> mainAdapter;
ParseQueryAdapter.QueryFactory<Post> factory;
factory = new ParseQueryAdapter.QueryFactory<Post>() {
                @Override
                public ParseQuery<Post> create() {
                    ParseQuery query = new ParseQuery("PlayerObject");
                    query.orderByDescending("CurrentLobby");
                    return query;
                }
            };
mainAdapter = new ParseQueryAdapter<Post>(this, factory) {
        @Override
        public View getItemView(final PlayerObject object, View v, ViewGroup parent) {
            if (v == null) {
                v = View.inflate(getContext(), R.layout.player_item_on_list, null);
            }
            return v;
        }
    };
    mainAdapter.setPaginationEnabled(true);
    mainAdapter.setTextKey("title");
    mainAdapter.setImageKey("Image");
    mainAdapter.loadObjects();

关于java - 如何为项目数组创建 ParseQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28999197/

相关文章:

android - 停止选项卡中的函数调用

android - 如何自定义 ListView 行android

java - 使用 Google GSON 解析 JSON : reading values directly from child objects

java - "not authorized to execute this request"使用 arangodb java 驱动程序

java - RecyclerView 的高度 'match_parent' 未按预期工作,而固定高度 (1000dp,2000dp) 正在工作

android - 触摸模糊。安卓应用

Android:将数据库中的数据绑定(bind)到 ListView 中的 CheckBox?

java - 二进制到十进制程序没有给出正确的答案java

java - 如何使用java查询具有特定需要字段的elasticsearch

java - JSONObject 无法转换为 JSONArray - Android