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

使用recycler view android studio访问其他视图

壤驷心思
2023-03-14

如下图所示。我在回收器视图上方有一个布局,下方有一个。两个标签都是线性布局。我面临两个问题。

>

  • 因为回收器视图有内部滚动,所以如果回收器视图中的项目增加,第一个线性布局将保持在相同的位置,但我希望它在滚动项目时向上滚动。

    当项目在回收器视图中增加时,第二个布局消失了。如何使布局滚动时,回收器视图到达它的最后一个项目。

    试用android:nestedScrollingEnabled=“false”它禁用滚动效果,但在回收器视图中仅显示少数项目。

    需要解决方案:如果我能让回收者静态查看项目并显示所有可用内容。因此,父布局决定是否滚动。如果大小增加,则会滚动,否则不会。

  • 共有2个答案

    姜天宇
    2023-03-14

    如果您的两个LinearLayout具有固定大小,您可以将它们固定在RelativeLayout中,然后在“中间”插入您的回收器视图。

    <RelativeLayout>
      <LinearLayout alignParentTop="true" height="100dp" id="@+id/topLayout"/>
      <LinearLayout alignParentBottom="true" height="100dp" id="@+id/bottomLayout"/>
      <RecyclerView height="match_parent" above="@id/bottomLayout" below="@id/topLayout"/>
    </RelativeLayout>
    

    或者,如果顶部容器是LinearLayout,则可以使用权重(1个用于顶部LinearLayout,1个用于底部LinearLayout,3个用于RecyclerView)

    <LinearLayout orientation="vertical">
      <LinearLayout height="0dp" weight="1"/>
      <RecyclerView height="0dp" weight="3"/>
      <LinearLayout height="0dp" weight="1"/>
    </LinearLayout>
    
    孙俊彦
    2023-03-14

    您可以将两个LinearLayouts作为页眉和页脚视图添加到RecyclerView。这个问题的最上面的答案应该告诉您如何做到这一点:RecyclerView页眉和页脚

     类似资料:
    • 问题内容: 我正在开发一个android应用程序,并且有一个按钮可以启动/暂停某些模拟过程。在此过程运行时,我需要实时输出一些数据。但是,当我为仿真创建新线程时,无法从该线程访问视图(将其命名为TextView),因为只能从创建它们的线程访问它们。另一方面,新线程是必需的,因为否则在仿真运行时,用户将无法执行任何操作(例如,按下其他一些按钮)。在这种情况下,创建新服务还需要创建一个新线程。我应该如

    • 我有一个收藏模型的典型结构。 在视图中,每个对象都有一个“编辑”按钮,该按钮应该取消激活其他对象的所有“编辑”按钮。 我想知道这样做的最佳做法是什么。谢谢!!

    • 问题内容: 我的班级有一个名为DataStorage的哈希图: 如何在另一个类中访问此HashMap中的数据? 问题答案: 将HashMap创建为实例变量,并提供一种将其访问类API的方法:

    • 我们正在尝试使用EWS管理的应用编程接口集成办公365。我们使用办公365管理中心创建了一个具有模拟角色的服务号。现在,我们如何使用该服务号访问应用程序中其他用户的数据(如邮件、联系人、日历)?谢谢,罗希特

    • 问题内容: 我最近拾起Java并遇到了问题。我有几个具有不同类的文件,但是我无法弄清楚如何访问文件中声明了其他类之外的其他类的对象。例如: 我不确定如何从其他文件和类本身有效访问其他类的这些对象?我知道我可以使对象静态化,然后通过它们所在的类将它们作为变量进行访问,但这似乎有点违反直觉?我来自面向对象较少的编程背景,因此我仍在尝试了解Java的编程风格。 问题答案: 您可能只想要这样的东西: 希望

    • 问题内容: 我想从另一个软件包访问主软件包,但这是不可能的,因为主文件不在目录中。我已经尝试将主文件放在目录中,但是当我尝试导入它时,出现此错误: 我想要这个的原因是因为我有一个tcp服务器和一个Web服务器一起工作。Web服务器可以通过主程序包获取tcp服务器,而tcp服务器可以通过主程序包获取web服务器。 我已经使它可以与Web服务器和tcpserver相互读取(中间没有主程序包),但是我想