Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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 RecyclerView始终滚动0_Android_Android Recyclerview_Xamarin.android_Recyclerview Layout - Fatal编程技术网

Android RecyclerView始终滚动0

Android RecyclerView始终滚动0,android,android-recyclerview,xamarin.android,recyclerview-layout,Android,Android Recyclerview,Xamarin.android,Recyclerview Layout,我有一个片段里面的回收视图。我需要得到滚动更改的通知,因此我向ScrollChange事件添加了一个回调(对应于经典Android API中的SetOnScrollChangeListener): 问题是deltaY始终为零,因为ScrollY和OldScrollY都始终为零。我在recycler视图的布局管理器中使用垂直线性布局,因此应该更新垂直尺寸。什么会导致此问题?正在使用滚动到Y位置 recyclerView.addOnScrollListener(new RecyclerView.On

我有一个片段里面的回收视图。我需要得到滚动更改的通知,因此我向
ScrollChange
事件添加了一个回调(对应于经典Android API中的
SetOnScrollChangeListener
):


问题是deltaY始终为零,因为ScrollY和OldScrollY都始终为零。我在recycler视图的布局管理器中使用垂直线性布局,因此应该更新垂直尺寸。什么会导致此问题?

正在使用滚动到Y位置

recyclerView.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) {
                super.onScrolled(recyclerView, dx, dy);
                Log.v("onScrolled", "dx:" + dx + " dy:" + dy);

             }
        });

View.SetOnScrollChangeListener()
是在API级别23中添加的,您可以在以下文档中看到:

如果您的应用程序应支持API级别23之前的版本,解决方法是使用以下方法将ScrollChangeListener添加到
RecyclerView
的“ViewTreeObserver”中:

_recyclerView.ViewTreeObserver.AddOnScrollChangedListener(param);

或者将回调添加到
ViewTreeObserver
的事件中

我看到Xamarin的
ScrollChange
事件包装
setOnScrollChangeListener
,并且没有事件包装
addOnScrollListener
。我切换到了
addOnScrollListener
方法,现在效果很好。问题是问
scrollY
,这个答案回答
dy
??为什么这是被接受的答案?被接受的答案有否定的分数。。。
_recyclerView.ViewTreeObserver.AddOnScrollChangedListener(param);