Android 使用StaggeredLayoutManager进行无休止的滚动?

Android 使用StaggeredLayoutManager进行无休止的滚动?,android,android-recyclerview,Android,Android Recyclerview,我试着实现一个循环视图。我创建抽象的onScroll RecyclerView,如下所示: @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); int grid_column_count = context.getResources().getInteger(R.integ

我试着实现一个循环视图。我创建抽象的onScroll RecyclerView,如下所示:

@Override
    public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
        super.onScrolled(recyclerView, dx, dy);

        int grid_column_count = context.getResources().getInteger(R.integer.grid_column_count);
        StaggeredGridLayoutManager mLayoutManager = new StaggeredGridLayoutManager(grid_column_count, StaggeredGridLayoutManager.VERTICAL);
        int visibleItemCount = recyclerView.getChildCount();
        int totalItemCount = mLayoutManager.getItemCount();
        int firstVisibleItemsGrid[] = new int[grid_column_count];
        int firstVisibleItem = mLayoutManager.findFirstVisibleItemPositions(firstVisibleItemsGrid)[0];


        if ((visibleItemCount + firstVisibleItem ) >= totalItemCount
                && totalItemCount != 0) {
            onLoadingMore();
        }

    }


protected abstract void onLoadingMore();
我通过维护来实现

//===============    
recyclerview= (RecyclerView)rootView. findViewById(R.id.grid_view);
            recyclerview.setHasFixedSize(true);
            grid_column_count = getResources().getInteger(R.integer.grid_column_count);
            mLayoutManager = new StaggeredGridLayoutManager(grid_column_count, StaggeredGridLayoutManager.VERTICAL);
            recyclerview.setLayoutManager(mLayoutManager);

//=====================

recyclerview.addOnScrollListener(new HidingScrollListener(getActivity()) {

            @Override
            protected void onLoadingMore() {
                if ( isFinishLoadingAwal
                        && !isFinishMoreNews
                        && adapter.getItemCount()> 0) {
                    getMoreNewsFromServer();
                }
            }

        });
但我发现了一个错误:

firstVisibleItem = mLayoutManager.findFirstVisibleItemPositions(firstVisibleItemsGrid)[0];
日志:

那么如何修复它呢?或者有什么解决办法?
对不起,我的英语不好。

替换
firstVisibleItem=mLayoutManager.findFirstVisibleItemPositions(firstVisibleItemsGrid)[0]带有

 firstVisibleItem  = ((LinearLayoutManager)recyclerView.getLayoutManager()).findFirstVisibleItemPosition(); and try.

我使用它与RecyclerView无休止地滚动交错网格。

我有以下内容,但我得到了错误
firstVisibleItems=mLayoutManager.findFirstVisibleItemPositions(firstVisibleItems)
findFirstVisibleItemPositions
不是由@AmayDiam的
StaggeredLayoutManager
可能的副本提供的。您找到任何解决方案了吗?获取错误
java.lang.ClassCastException:android.support.v7.widget.StaggedGridLayoutManager无法强制转换为android.support.v7.widget.LinearLayoutManager
解析方法
findFirstVisibleItemPosition
 firstVisibleItem  = ((LinearLayoutManager)recyclerView.getLayoutManager()).findFirstVisibleItemPosition(); and try.