(ParsseAndroid)如何查询最新的第15条数据?

问题描述 投票:0回答:1

我在聊天活动的onCreate方法中使用以下方法查询项目列表,并将其设置为我的适配器。

public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    rootview = inflater.inflate(R.layout.fragment_chat,container,false);

    ListView chatListView = (ListView) rootview.findViewById(R.id.chatListView);
    arrayAdapter = new ArrayAdapter<String>(getActivity(),android.R.layout.simple_list_item_1, messages);

    ParseQuery<ParseObject> query = ParseQuery.getQuery("Message");
    query.setLimit(15);
    query.orderByAscending("createdAt");
    query.whereLessThanOrEqualTo("createdAt", new Date());

    query.findInBackground(new FindCallback<ParseObject>() {
        public void done(List<ParseObject> objects, ParseException e) {
            if (e == null) {
                if(objects.size() > 0){

                    messages.clear();

                    for (ParseObject message : objects){

                        messages.add(message.getString("sender") + ": " + message.getString("content"));

                    }

                    arrayAdapter.notifyDataSetChanged();
                }

            } else {
                // Something is wrong
            }
        }
    });

    chatListView.setAdapter(arrayAdapter);

我得到的结果是前15个数据,而不是最新的15个数据,如何解决?

java android parse-platform
1个回答
0
投票

用降序代替升序。

 query.orderByAscending("createdAt");

用这个。

query.addDescendingOrder("createdAt");
© www.soinside.com 2019 - 2024. All rights reserved.