在 NestedScrollView 中使用 ListViews 的正确替代方法是什么?

What is the correct alternative to using ListViews in a NestedScrollView?

我正在为词典条目创建详细视图。基本结构如下:一个字典项可以有1个或多个'Meanings'。这些 'Meanings' 中的每一个都可以进一步具有 0 个或多个 'Field of Applications'、'Part of Speech' 和 'Dialect' 值。字典项目还有其他类似的部分,例如例句。

由于大小和结构根据查询结果而变化,在我看来最好的方法是使用多个 ListView,如下所示:

我意识到将 ListViews 放在 ScrollViews 中是个坏主意,并且 Google themselves 说你不应该这样做,所以 'best practice'如何完成这样的事情?

我想到了以下解决方案,none 其中看起来很理想:

  1. 使用单个 TextView 而不是 ListView,并使用换行符分隔数据行。这感觉非常 hacky 并且使得格式化一行的特定部分变得困难。
  2. 用 LinearLayouts 替换 ListViews,然后根据需要以编程方式在其中插入 TextViews。
  3. 创建一个不可滚动的自定义 ListView。

这似乎是详细视图的一个非常常见的用例,但我找不到关于如何处理这个问题的任何具体答案。

您可以将 ListView 替换为 RecyclerView(以及适配器=并调用

recyclerView.setNestedScrollingEnabled(false);

这将启用平滑的嵌套滚动。