0
我正在Xamarin Android和我打电话的方法,返回一些搜索结果(页数,项目总数,等等,用模拟测试和工作正确)。无尽的滚动与RecyclerView Xamarin Android
我不知道如何在Xamarin中实现无限滚动视图。我看到一些Java实现,但我不知道如何将它“翻译”成Xamarin。
你能帮我还是举个例子?提前致谢!
我正在Xamarin Android和我打电话的方法,返回一些搜索结果(页数,项目总数,等等,用模拟测试和工作正确)。无尽的滚动与RecyclerView 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);
}
}
}
你可以找到链接click here
祝你好运。