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

标签 android android-layout listview android-scrollview

我正在为词典条目创建详细 View 。基本结构如下: 一个词典条目可以有一个或多个“含义”。这些“含义”中的每一个都可以进一步具有 0 个或多个“应用领域”、“词性”和“方言”值。字典项目还有其他类似的部分,例如例句。

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

Detail view components mockup

我意识到将 ListViews 放在 ScrollViews 中是个坏主意,并且 Google themselves说你不应该这样做,那么完成这样的事情的“最佳实践”方法是什么?

我想到了以下解决方案,但似乎都不理想:

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

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

最佳答案

您可以用 RecyclerView 替换您的 ListView(还有适配器=并调用

recyclerView.setNestedScrollingEnabled(false);

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

关于android - 在 NestedScrollView 中使用 ListViews 的正确替代方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42070916/

相关文章:

android - 当我单击该项目时如何启用 listview 项目的按钮并禁用 android 中剩余列表项目中存在的所有按钮?

android - 设备 api 级别 < 11 的 DialogFragments

android - 禁用单击 ListView 中的一个数据适配器

android - ListView 元素的子元素在某个位置后重复

java - 使用 onClickListener 将数据发送到下一个 Activity 的一些问题

没有root的服务的Android屏幕截图

java - 通知取代了 Android 中的旧版本

android - 如何使工具栏不与Android中的其他内容重叠?

android - TextView 中单词中每个字母周围的背景

android ListView 上下文菜单