1

The app should load 5 items each time the user scrolls all the way down, it works fine but when the user change to another activity and return to the brows activity (the main activity) it loads only 5 items

here is my my code for scrolling

 recyclerView.setOnScrollListener(new EndlessRecyclerOnScrollListener(
                layoutManager) {
            @Override
            public void onLoadMore(int current_page) {
                int limit = current_page * 5;
                LoadMoreItems(limit);
            }
        });
        return rootView;
    }

Load more items method

private void LoadMoreItems(int limit) {
        ParseQuery<ParseObject> query = ParseQuery.getQuery("product");
        query.setLimit(limit).orderByDescending("createdAt");
        dialog = new ProgressDialog(getActivity());
        dialog.setTitle("Loading");
        dialog.setMessage("Please Wait...");
        dialog.show();
        query.findInBackground(new FindCallback<ParseObject>() {
            public void done(List<ParseObject> scoreList, ParseException e) {
                dialog.dismiss();
                if (e == null) {

                    data.clear();
                    for (int a = 0; a < scoreList.size(); a++) {
                        ParseObject object = scoreList.get(a);
                        ItemsModel model = new ItemsModel();
                        model.setDate(String.valueOf(object.getCreatedAt()
                                .toLocaleString()));
                        model.setPrice(object.getNumber("price").toString() + " R.O");
                        model.setTitle(object.getString("title"));
                        model.setPhone(object.getNumber("phone").toString());
                        model.setDesc(object.getString("desc"));
                        model.setImageFile(object.getParseFile("image")
                                .getUrl());
                        model.setObjectId(object.getObjectId());
                        data.add(model);

                    }
                    adapter.UpdateData(data);

                } else if (e.getCode() == ParseException.CONNECTION_FAILED) {
                    Toast.makeText(getActivity(), "No internet Connection please check your connection!",
                            Toast.LENGTH_LONG).show();

                } else {
                    Toast.makeText(getActivity(),"Error:"+e.getMessage(),
                            Toast.LENGTH_LONG).show();
                }

            }
        });
    }

Load data method

private void LoadData() {
        ParseQuery<ParseObject> query = ParseQuery.getQuery("product");
        query.setLimit(5).orderByDescending("createdAt");
        dialog = new ProgressDialog(getActivity());
        dialog.setTitle("Loading");
        dialog.setMessage("Please Wait...");
        dialog.show();
        query.findInBackground(new FindCallback<ParseObject>() {
            public void done(List<ParseObject> scoreList, ParseException e) {
                dialog.dismiss();
                if (e == null) {
                    data.clear();
                    for (int a = 0; a < scoreList.size(); a++) {
                        ParseObject object = scoreList.get(a);
                        ItemsModel model = new ItemsModel();
                        model.setDate(String.valueOf(object.getCreatedAt()
                                .toLocaleString()));

                        model.setPrice(object.getNumber("price").toString() + " R.O");
                        model.setTitle(object.getString("title"));
                        model.setPhone(object.getNumber("phone").toString());
                        model.setDesc(object.getString("desc"));
                        model.setImageFile(object.getParseFile("image")
                                .getUrl());
                        model.setObjectId(object.getObjectId());
                        data.add(model);

                    }
                    adapter = new RecycleViewAdapter(data, getActivity());
                    adapter.setClickListner(BrowseFragment.this);
                    recyclerView.setAdapter(adapter);

                } else if (e.getCode() == ParseException.CONNECTION_FAILED) {
                    Toast.makeText(getActivity(), "No internet Connection please check your connection!",
                            Toast.LENGTH_LONG).show();

                } else {
                    Toast.makeText(getActivity(),"Error:"+e.getMessage(),
                            Toast.LENGTH_LONG).show();
                }

            }
        });
    }

this is how i call load data inside onResume

 public void onResume() {
        super.onResume();
        LoadData();
    }
Aryam Saleh
  • 328
  • 2
  • 12

0 Answers0