(Parse / Android) Как я могу запросить последние 15-е данные? - PullRequest
0 голосов
/ 08 мая 2020

У меня есть следующий метод, чтобы запросить список элементов в методе 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. Как исправить?

1 Ответ

0 голосов
/ 08 мая 2020

используйте ordery by des c вместо c:

 query.orderByAscending("createdAt");

используйте это:

query.addDescendingOrder("createdAt");
...