ParseQueryAdapter:在客户端排序数据

时间:2014-09-16 16:14:35

标签: sorting parse-platform baseadapter

我的问题很简单,但我的代码无效。 我想将ParseQuery的结果排序到ParseQueryAdapter中,然后再将其显示到ListView中。

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() {
        }

    });

我在调试器中检查数据是按照比较器排序的......但是没有更新到ParseQueryAdapter ... notifyDataSetInvalidated什么都不做。

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

query.orderByDescending("deal.date");

但那也不行......所以我写了一个手动分类。

1 个答案:

答案 0 :(得分:0)

您可以创建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);
}