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);