Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.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
Java getScrollX()返回错误的值,为什么?_Java_Android - Fatal编程技术网

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。此链接可能会对您有所帮助