If you are still after the solution of your question, it might help you to sort it out
In your activity where you have implemented RecyclerView, you can add following lines of codes
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
var view = base.OnCreateView(inflater, container, savedInstanceState);
var recyclerView = view.FindViewById<RecyclerView>(Resource.Id.my_recycler_view);
if (recyclerView != null)
{
recyclerView.HasFixedSize = true;
var layoutManager = new LinearLayoutManager(Activity);
var onScrollListener = new XamarinRecyclerViewOnScrollListener (layoutManager);
onScrollListener.LoadMoreEvent += (object sender, EventArgs e) => {
//Load more stuff here
};
recyclerView.AddOnScrollListener (onScrollListener);
recyclerView.SetLayoutManager(layoutManager);
}
return view;
}
and in XamarinRecyclerViewOnScrollListener.cs class implement the following lines of code
public class XamarinRecyclerViewOnScrollListener : RecyclerView.OnScrollListener
{
public delegate void LoadMoreEventHandler(object sender, EventArgs e);
public event LoadMoreEventHandler LoadMoreEvent;
private LinearLayoutManager LayoutManager;
public XamarinRecyclerViewOnScrollListener (LinearLayoutManager layoutManager)
{
LayoutManager = layoutManager;
}
public override void OnScrolled (RecyclerView recyclerView, int dx, int dy)
{
base.OnScrolled (recyclerView, dx, dy);
var visibleItemCount = recyclerView.ChildCount;
var totalItemCount = recyclerView.GetAdapter().ItemCount;
var pastVisiblesItems = LayoutManager.FindFirstVisibleItemPosition();
if ((visibleItemCount + pastVisiblesItems) >= totalItemCount) {
LoadMoreEvent (this, null);
}
}
}
You can find the link click here
Good Luck.