我正在使用 Xamarin Android,我正在调用一个返回某些搜索结果的方法(页数、项目总数等,通过模拟测试并正常工作)。
我不知道如何在 Xamarin 中实现无限滚动视图。我看到了一些 Java 实现,但我不知道如何将其“翻译”成 Xamarin。
你能帮我或给我一些例子吗?提前致谢!
我正在使用 Xamarin Android,我正在调用一个返回某些搜索结果的方法(页数、项目总数等,通过模拟测试并正常工作)。
我不知道如何在 Xamarin 中实现无限滚动视图。我看到了一些 Java 实现,但我不知道如何将其“翻译”成 Xamarin。
你能帮我或给我一些例子吗?提前致谢!
如果您仍然在解决问题,它可能会帮助您解决问题 在您实施 RecyclerView 的活动中,您可以添加以下代码行
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;
}
并在 XamarinRecyclerViewOnScrollListener.cs 类中实现以下代码行
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);
}
}
}
你可以找到链接点击这里
祝你好运。