Я пытаюсь выполнить 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, который вызывает данные для представления ресайклера