当前位置: 首页 > 知识库问答 >
问题:

Android:垂直视图寻呼机中的回收器视图

司寇经亘
2023-03-14

我想在垂直视图页中实现一个recyclerview。我当前的布局如下所示

VerticalViewpager
- Fragment1
    - ImageView
- Fragment2 
    - RecyclerView

如果我从Fragment1滑动到Fragment2,一切正常。我可以在回收器视图中上下滚动。如果我尝试滑动/滚动回Fragment1,就会出现问题。

如果用户已滚动到回收器视图的顶部,我想将下一个“向上”滚动事件转发到垂直视图页页面。我尝试过重写 onInterceptTouchEvent 方法,但遗憾的是仍然没有成功。有什么想法吗?感谢您的帮助:)

共有3个答案

禄豪
2023-03-14
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
                @Override
                public void onScrolled (RecyclerView recyclerView,int dx, int dy) {
                int topRowVerticalPosition = (recyclerView == null || recyclerView.getChildCount() == 0) ? 0 : recyclerView.getChildAt(0).getTop();
                if (topRowVerticalPosition >= 0) {
                    //top position
                }
            }
                @Override
                public void onScrollStateChanged (RecyclerView recyclerView,int newState) {
                super.onScrollStateChanged(recyclerView, newState);
            }
            });

通过使用这个代码,你可以找到用户是否在顶部的位置。在这个位置你可以使视图页移动到你想要的位置。

澹台臻
2023-03-14

1)您需要使用支持库23.2.0(或)以上2)和回收器视图高度将wrap_content。3)recyclerView.setNestedScrollingEnabled(false)

但是这样做的话,回收模式就不起作用了。(即,所有视图将一次加载,因为wrap_content需要完整recycler视图的高度,所以它将一次绘制所有回收器视图。没有视图将被回收)。除非确实需要,否则尽量不要使用这种模式。

凌炜
2023-03-14

您需要禁用< code >滚动。请尝试使用< code > recycle view . setnestedscrollingenabled(false);

 类似资料:
  • 我怎样才能在Android中获得类似这样的东西? 我已经用深度页面转换器实现了一个viewpager,但是我想不出在后面添加项目预览的方法。

  • 我正在使用下面的代码创建一个回收器视图。recyclerview有一个网格布局管理器,其项计数最多为每行2个。 不幸的是,我嵌套在ConstraintLayout中的回收器视图根本没有滚动。我错过了什么?约束布局是否支持相同的?

  • 我需要制作一个电子商务应用程序类型的屏幕,具有多个viewpager和recycler视图。 我实现了它,但我的1/2视图寻呼机在回收器视图中可见,一旦我旋转设备,我的第一个视图寻呼机也会消失。 我的活动: 我的视图寻呼机片段: 我的回收器视图的主适配器: 我的视图寻呼机适配器: 我的水平回收器视图适配器: 主要活动布局: 水平滚动布局: 查看寻呼机布局: 根据我的JSON数据,在recycler

  • 我有一个父回收器视图,其中包含一个水平回收器视图作为其项目。在其中,我将显示分类视频。当我开始滚动水平回收器视图时,应用程序崩溃。 错误是: 我的代码是category类 垂直适配器 水平适配器

  • 我正在尝试使用PagerAdapter显示来自可绘制视图寻呼机的图像。为此,我编写了以下代码-- //调用PagerAdapter 下面是我的适配器类-- 下面是我的对话框 xml-- 下面是 ViewPager Item xml-- //下面是解释当前如何显示空的ViewPager的屏幕截图-- 当我调试应用程序时,一切似乎都很好,但不知道为什么图像没有显示在ViewPager中。请帮忙..

  • 我有一个水平回收视图。每个子级包含一个TextView和一个垂直RecyclerView。垂直RecyclerView的子级仅包含TextView。 垂直滚动非常平滑,但水平滚动滞后很多。我已经尝试在onBindViewHolder中使用swapAdapter,而不是setAdapter,但这并没有解决问题。我也尝试过更改数据集并调用notifyDataSetChanged(),但这也没有帮助。