当我点击组时,Android Expandable ListView 会自动滚动到底部

标签 android scroll expandablelistview

我有一个充满项目的 ExpandableListView。当您单击顶层的一个项目时,它会打开下一个级别,其中显示一个列表,其中包含有关每个项目的一些附加信息。对于某些顶部项目(组),当我单击它们时,它会打开底部项目(子项)并且什么都不做。但是对于其他组,当我单击它们时,它会打开子项并一直向下滚动到该组的最后一个子项。有谁知道为什么它对某些项目而不是其他项目这样做?有什么方法可以消除这种影响,让列表滚动到它已经在的相同位置吗?

编辑: 我刚刚意识到它只对顶层项目的下半部分进行滚动。也就是说,顶层有 14 个项目,当您单击项目 8-14 时,它会向下滚动,以便最后一个子项目位于屏幕底部。如果您单击第 1-7 项,子项会打开并且不会发生其他任何事情。

Edit2:据我所知,@coldForged 我使用的是标准的 ExpandableListView 这是我的布局中的 xml:

<ExpandableListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" 
android:background="@drawable/paper"
android:scrollingCache="false"

android:scrollbars="none"
>
</ExpandableListView>

scrollingCache="false"属性会导致这种情况吗?我必须设置此属性以使其即使在滚动列表时也能显示背景图像。如果没有此属性,列表背景在滚动时会变为黑色。

最佳答案

我遇到了同样的问题并在这里找到了非常简单的解决方案:[Android ExpandableListView Scroll to Expanded Group Position]

编辑:由于链接每月失效一次,这里是真正简单的解决方案: 只需设置 android:transcriptMode="disabled"。这可以防止滚动到最后一个列表位置。

进一步阅读:[Android 文档中的转录模式][1] [1]: https://developer.android.com/reference/android/widget/AbsListView#attr_android:transcriptMode

关于当我点击组时,Android Expandable ListView 会自动滚动到底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5861588/

相关文章:

android - Dagger 2 : No implementation generated for component interface

android - 如何使用 Monkeyrunner 运行单个测试用例

wpf - 当 Expander 展开时滚动 ScrollViewer

javascript - 向下滚动到带有 Protractor 的元素

android - 在可扩展列表中选择子项时如何合并弹出窗口

java - 在Android上制作一个随机移动的可点击按钮

android - Crashlytics,如何在崩溃时设置自定义键值?

jquery - 更改 jQuery.scroll() 上 DOM 元素的位置会导致滚动不稳定

android - 什么是工具 :itemCount equivalent for ExpandableListView?

android - 向下滚动后可扩展的 ListView Child 返回错误的 View