简体   繁体   English

LinearLayoutManager在Android(Xamarin)的RecycleView中不起作用

[英]LinearLayoutManager is not work in RecycleView in Android (Xamarin)

I am creating customAdapter for my RecyclerView for the purpose of Loading More data after the Scroll. 我正在为RecyclerView创建customAdapter,以在Scroll之后加载更多数据。 So I have to AddScrollListner on RecycleView . 所以我必须在AddScrollListner上添加RecycleView But in my public Constructor it not found. 但是在我的公共构造函数中找不到。

Android code : Android代码:

public UserAdapter() {
            final LinearLayoutManager linearLayoutManager = (LinearLayoutManager) mRecyclerView.getLayoutManager();
            mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
                @Override
                public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                    super.onScrolled(recyclerView, dx, dy);

                    totalItemCount = linearLayoutManager.getItemCount();
                    lastVisibleItem = linearLayoutManager.findLastVisibleItemPosition();

                    if (!isLoading && totalItemCount <= (lastVisibleItem + visibleThreshold)) {
                        if (mOnLoadMoreListener != null) {
                            mOnLoadMoreListener.onLoadMore();
                        }
                        isLoading = true;
                    }
                }
            });
        }

But When I translate the LinearLayoutManager is not work in Xamarin. 但是,当我翻译时, LinearLayoutManager在Xamarin中不起作用。

Xamarin Code : Xamarin代码:

LinearLayoutManager linearLayoutManager = (LinearLayoutManager) mRecyclerView.getLayoutManager();

in the upper code my RecycleView not found. 在上面的代码中找不到我的RecycleView

UpDate : 更新日期:

I have set this way 我已经设定好了

mRecyclerView. = FindViewById<RecyclerView>(Resource.Id.inventory_recycleView);
var manager = new LinearLayoutManager(this);
mRecyclerView. SetLayoutManager(manager);
mInventoryAdapter = new InventoryAdapter();
this.mRecyclerView.SetAdapter(mInventoryAdapter);

but then Also my Adapter class that can not use. 但是后来我的Adapter类也无法使用。

class InventoryAdapter : RecyclerView.Adapter
        {

            private const int VIEW_TYPE_ITEM = 0;
            private const int VIEW_TYPE_LOADING = 1;

            private OnLoadMoreListener mOnLoadMoreListener;

            private bool isLoading;
            private int visibleThresold = 5;
            private int lastVisibleItem, totalItemCount;

            public override int ItemCount
            {
                get
                {
                    throw new NotImplementedException();
                }
            }

            public InventoryAdapter()
            {
                var layoutmanger = (LinearLayoutManager) mRecyclerView..GetLayoutManager();

            }
}

Any Help be Appreciated. 任何帮助将不胜感激。

getLayoutManger() , since it is a method with no arguments is converted into a property LayoutManager on the RecyclerView . getLayoutManger() ,因为它是不带参数的方法,所以将其转换为RecyclerView上的属性LayoutManager

So the code will look like: 因此代码如下所示:

var layoutManager = (LinearLayoutManager)mRecyclerView.LayoutManager;

Usually you would set the LayoutManager in your Activity or Fragment like: 通常,您可以在Activity或Fragment中设置LayoutManager,例如:

var manager = new LinearLayoutManager(Activity); // or just this if inside Activity
mRecyclerview.SetLayoutManager(manager);

It is unclear how you pass in your RecyclerView to the Adapter. 目前尚不清楚如何将RecyclerView传递给适配器。 It appears as if mRecyclerView is a field somewhere. 看起来mRecyclerView是某个地方的字段。 Normally I would pass it in as an agument in the constructor if I need it in that class: 通常,如果需要在该类中将其作为构造函数中的参数传递,则可以:

public MyAdapter(RecyclerView recycler)
{
    mRecyclerView = recycler;
    // do more stuff here...
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如果RecyclerView太短,则Android LinearLayoutManager scrollToPositionWithOffset无法正常工作 - android LinearLayoutManager scrollToPositionWithOffset not work if RecyclerView is too short 如何在 Recycleview onclick 中切换到垂直和水平 Linearlayoutmanager - How to switch to vertical and Horizontal Linearlayoutmanager in Recycleview onclick LinearLayoutManager (LinearLayoutManager.HORIZONTAL) 不起作用 - LinearLayoutManager (LinearLayoutManager.HORIZONTAL) don't work xamarin RecyclerView LinearLayoutManager StackFromEnd丢失 - xamarin RecyclerView LinearLayoutManager StackFromEnd missing RecycleView 在 android 片段中不起作用 - RecycleView doesn't work in android fragement Android RecycleView OnClick不适用于整个itemView - Android RecycleView OnClick does not work for whole itemView findFirstVisibleItemPositions不适用于recycleview android - findFirstVisibleItemPositions doesn't work for recycleview android Android Recycleview DiffUtil 无法正常工作 - Android Recycleview DiffUtil doesn't work properly 活动开始使用Linearlayoutmanager时,将Recycleview滚动到顶部位置 - Scroll Recycleview to Top position when activity starts using Linearlayoutmanager RecycleView中的项目不会对齐xamarin.android - Items inside RecycleView wont align xamarin.android
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM