Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 具有SwipeRefreshLayout的RecyclerView工作不一致_Android_Android Layout_Android Recyclerview - Fatal编程技术网

Android 具有SwipeRefreshLayout的RecyclerView工作不一致

Android 具有SwipeRefreshLayout的RecyclerView工作不一致,android,android-layout,android-recyclerview,Android,Android Layout,Android Recyclerview,我知道类似的问题被问了很多次,但它不能解决我的问题。所以我在这里问。我有一个全新布局的回收视图。我用过这个代码 recyclerView1.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) {

我知道类似的问题被问了很多次,但它不能解决我的问题。所以我在这里问。我有一个全新布局的回收视图。我用过这个代码

recyclerView1.addOnScrollListener(new RecyclerView.OnScrollListener() {

            @Override
            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
                //super.onScrollStateChanged(recyclerView, newState);
                try {
                    int firstPos = mLinearLayoutManager.findFirstCompletelyVisibleItemPosition();
                    if (refreshLayout != null) {
                        if (firstPos > 0) {
                            refreshLayout.setEnabled(false);
                        } else {
                            activity.refreshLayout.setEnabled(true);
                            if (recyclerView1.getScrollState() == 1)
                                if (activity.refreshLayout.isRefreshing())
                                    recyclerView1.stopScroll();
                        }
                    }

                } catch (Exception e) {

                }
            }
        });
区分recyclerView和swipe refresh布局的滚动。但是我已经用这个添加了一个标题到这个recyclerView中[。现在recyclerView中的标题高度太大了,所以在小型设备中

int firstPos = mLinearLayoutManager.findFirstCompletelyVisibleItemPosition();
当只有一半的标题可见时返回0。并且它正在启用swiperefreshlayout。因此我无法在recyclerView中看到整个标题。有人能帮我解决这个问题吗


谢谢

试试这个,希望对你有所帮助。downvoter你能告诉我downvote的原因吗?这段代码做什么?不要只是复制粘贴代码,添加一点解释。
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
refreshLayout.setOnRefreshListener(new PullRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            refreshLayout.setRefreshing(true);
            // start refresh
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                        refreshLayout.setRefreshing(false);
                         }
            }, 5000);
        }
    });


    recList.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);

        }
        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                refreshLayout.setEnabled(llm.findFirstCompletelyVisibleItemPosition() == 0);
        }
    });