Java getScrollX()返回错误的值,为什么?
Java getScrollX()返回错误的值,为什么?,java,android,Java,Android,recList.getScrollX()行始终返回0,即使用户已经滚动了recList protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final RecyclerView recList = (RecyclerView) findViewById(R.id.userSettingList); horizon
recList.getScrollX()
行始终返回0,即使用户已经滚动了recList
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final RecyclerView recList = (RecyclerView) findViewById(R.id.userSettingList);
horizontalScrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
@Override
public void onScrollChanged() {
int scrollX0 = recList.getScrollX(); //always returns 0, why?
}
}
});
}
你确定它是在X轴上滚动的吗?垂直滚动(向上和向下)是滚动Y,因此您应该使用getScrollY()。当然,我正在调试并打印输出。为了清楚起见,您的RecyclerView会左右滚动?我相信这是因为scrollX()是视图中的一个方法,而不是RecyclerView。在我的应用程序中,我通过setSelection设置Y位置。不确定如何使用X。此链接可能会帮助您确定它已在X轴上滚动?垂直滚动(向上和向下)是滚动Y,因此您应该使用getScrollY()。当然,我正在调试并打印输出。为了清楚起见,您的RecyclerView会左右滚动?我相信这是因为scrollX()是视图中的一个方法,而不是RecyclerView。在我的应用程序中,我通过setSelection设置Y位置。不确定如何使用X。此链接可能会对您有所帮助