onScrollListener не работает с фрагментом Android - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь выполнить recyclerview с разбивкой на страницы во фрагменте, но когда я хочу применить метод addOnScrollListener и запустить приложение, это не сработает.

Я помещаю тост, чтобы увидеть если бы я выполнял метод, и он делал это только тогда, когда он загружается, а не когда я прокручиваю, я помещаю метод в onCreateView фрагмента, ничего не имеет значения null, он просто не выполняет слушателя.

Вот мой код:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_medicamentos, container, false);

    recyclerView = rootView.findViewById(R.id.scrollableview);

    progressBar = rootView.findViewById(R.id.progressBar);


    layoutManager = new GridLayoutManager(getActivity(),2);
    recyclerView.setHasFixedSize(true);
    recyclerView.setLayoutManager(layoutManager);

    getSucPromMeds1(iduser,token,page_number);

    recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
            super.onScrolled(recyclerView, dx, dy);

            Toast.makeText(getActivity(),"SCROLLING",Toast.LENGTH_SHORT).show();

            visibleItemCount = layoutManager.getChildCount();
            totalItemCount = layoutManager.getItemCount();
            pastVisibleItems = layoutManager.findFirstVisibleItemPosition();

            if (dy>0)
            {
                if (isLoading)
                {
                    if(totalItemCount>previousTotal)
                    {
                        isLoading = false;
                        previousTotal = totalItemCount;
                    }
                }

                if (!isLoading && (totalItemCount-visibleItemCount)<=(pastVisibleItems+viewThreshold))
                {
                    page_number += 20;
                    performPagination(iduser,token,page_number);
                    isLoading = true;
                }
            }
        }
    });

    return rootView;
}

Метод performPagination - это метод ws, который вызывает данные для представления ресайклера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...