Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.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 如何在每次循环视图滚动时重置循环视图内的位置滚动视图_Android_Android Recyclerview_Android Scrollview - Fatal编程技术网

Android 如何在每次循环视图滚动时重置循环视图内的位置滚动视图

Android 如何在每次循环视图滚动时重置循环视图内的位置滚动视图,android,android-recyclerview,android-scrollview,Android,Android Recyclerview,Android Scrollview,我有一个水平的循环视图滚动条,每个项目都有一个垂直的滚动视图滚动条。 当我向下滚动ScrollView时,它将记住该位置,并且在我将RecycleView滚动到另一个项目时不会重置为顶部,如下所示: 当我滚动RecycleView时,有人能给我一个建议让ScrollView重置为顶部吗?当你检测到滚动RecycleView时,请调用此选项 yourScrollView.fullScroll(ScrollView.FOCUS_UP); 你可以称之为: scrollView.fullScroll

我有一个水平的循环视图滚动条,每个项目都有一个垂直的滚动视图滚动条。 当我向下滚动ScrollView时,它将记住该位置,并且在我将RecycleView滚动到另一个项目时不会重置为顶部,如下所示:


当我滚动RecycleView时,有人能给我一个建议让ScrollView重置为顶部吗?

当你检测到滚动RecycleView时,请调用此选项

yourScrollView.fullScroll(ScrollView.FOCUS_UP);
你可以称之为:

scrollView.fullScroll(ScrollView.FOCUS_TOP)
或者这个:

 scrollView.scrollTo(0,0);
在初始化viewHolder时,您可以在适配器的onBindeViewHolder中使用此选项,或者您可以将滚动侦听器连接到RecyclerView并使用滚动侦听器检测滚动

也许是这样的

  recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
                @Override
                public void onScrolled(RecyclerView recyclerView, int dx, int dy) {

                    LinearLayoutManager linearLayoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();

                    int fVitem = linearLayoutManager.findFirstVisibleItemPosition();
                    int lVitem = linearLayoutManager.findLastVisibleItemPosition();

                    for (int i = fVitem; i <= lVitem; i++) {

                        View view = linearLayoutManager.findViewByPosition(i);

                        ScrollView scrollView;


                        if (view.getTag() != null) scrollView = (ScrollView) view.getTag();
                        else {
                            scrollView = view.findViewById(R.id.myScrollView);
                            view.setTag(scrollView);
                        }
                        scrollView.scrollTo(0, 0);
                    }

                }
            });
recyclerView.addOnScrollListener(新的recyclerView.OnScrollListener(){
@凌驾
已填空的公共空间(RecyclerView RecyclerView、int dx、int dy){
LinearLayoutManager LinearLayoutManager=(LinearLayoutManager)recyclerView.getLayoutManager();
int fviitem=linearLayoutManager.findFirstVisibleItemPosition();
int lVitem=linearLayoutManager.findLastVisibleItemPosition();

对于(int i=fVitem;我感谢您的建议谢谢,我只是用
recyclerView.addOnScrollListener
编辑它,onBindViewHolder没有工作您是怎么做到的?