如何创建可滚动的项目列表以与 TabLayout 一起使用?

How to create a scrollable list of items to use with a TabLayout?

首先要说明的是,这是我制作的第一个 android 应用程序(到目前为止我只按照教程学习),所以请在您的回答中详细说明并原谅我如果我在胡说八道:).

我正在尝试创建一个应用程序,其中主要 activity 将成为 TabLayout,并且在其中一个选项卡中我想要一个片段,它是一个列表,您可以向上滚动并向下,而且我希望列表中的每个元素都有多个交互元素(例如两个不同的按钮)。

我的第一直觉是选择 ListFragment,因为列表中的每个元素都是一个片段,您可以对其进行编程以执行任何您想要的操作。然而,在学习教程时,我发现 ListFragments 似乎相当棘手,我不确定我是否可以让它与 TabLayout 一起工作。

我已经寻找过其他方法,但我只找到了允许您拥有纯视图列表而不是片段的解决方案。

那我该怎么办?有没有一种方法可以让 ListFragment 与 TabLayout 一起工作,我只是在说傻话,或者有更好的方法吗?

My first instinct was to go with a ListFragment because each element of the list will be a fragment that you can program to do whatever you want

ListFragment 内容 不会是片段。 ListFragment 的内容可能代表您计划在 UI.

的其他地方显示其他片段的模型对象

I'm not sure if I can make it work with a TabLayout

ListFragment 可以用在 TabLayout 的内部或外部。我认为 TabLayout 内部的 ListFragment 不会比任何其他类型的片段更麻烦。

您的 ListFragment 问题将来自:

I would like each element in the list to have multiple interactive elements (like two different buttons for example).

ListViewListFragment 的基础,很难与列表行中的交互元素一起使用。由于您的设计听起来很不寻常,您可能希望考虑使用其他 UI 模式而不是列表行中的多个按钮。如果您坚持这种设计,您可能会发现 RecyclerView 在长 运行 中更容易一些,即使一开始它更具挑战性。

I've only found the kinds of solutions that allow you to have a list of just plain views, not fragments

这很可能是您唯一能找到的东西。同样,ListFragment 是一个包含 ListView 的片段。 ListView 行不是片段,无论 ListView 是否包含在 Fragment 中。我唯一听说过的是为片段的垂直滚动而设计的,那就是各种垂直 ViewPager 浮动的实现。