【问题标题】:ParseQueryAdapter : sort data on client sideParseQueryAdapter :在客户端对数据进行排序
【发布时间】:2014-11-10 11:52:34
【问题描述】:

我的问题很简单,但我的代码不起作用。 我想在将 ParseQuery 的结果显示到 ListView 之前将其排序到 ParseQueryAdapter 中。

products.addOnQueryLoadListener(new ParseQueryAdapter.OnQueryLoadListener<Product>() {

        @Override
        public void onLoaded(List<Product> data, Exception e) {
            Collections.sort(data, LastDealComparator);
            products.notifyDataSetInvalidated();
        }

        @Override
        public void onLoading() {
        }

    });

我签入的调试器数据由 Comparator 排序...但没有更新到 ParseQueryAdapter ... notifyDataSetInvalidated 什么都不做。

关于信息,最初我的问题是对指针字段的查询进行排序:

query.orderByDescending("deal.date");

但这也不行……所以我写了一个手动排序。

【问题讨论】:

  • 遇到同样的问题
  • 不知道您正在使用的框架中是否有这样的功能,但在 swift 上您可以执行类似“query.orderByDescending("deal.date");”的操作使用“whereKey:matchesQuery:”。

标签: sorting parse-platform baseadapter


【解决方案1】:

可以创建onLoaded事件并创建排序索引(HashMap的排序)

@Override
public void onLoaded(List<ParseObject> objects, Exception e)

并且在getItem函数中可以根据索引映射数据。

逆序列表示例:

@Override
public ParseObject getItem(int position) { //For descending order
    return super.getItem(getCount() - position - 1);
}

【讨论】:

    猜你喜欢
    • 2020-04-28
    • 2011-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多