2011-05-02 69 views
1

我有一个ExpandableListView填充项目。当你点击顶层的一个项目时,它会打开下一个层次,显示一个列表,其中包含有关每个项目的一些附加信息。对于一些顶级项目(组),当我点击它们时,它会打开底部的项目(子项),除此之外别无其他。但是对于其他群体,当我点击它们时,它会打开孩子们,并一路滚动到该群体的最后一个孩子身上。有谁知道它为什么这样做的一些项目,而不是其他人?有什么办法摆脱这种影响,只是将列表滚动到相同的位置,它已经在?Android Expandable ListView自动滚动到底部时,我点击组

编辑: 我刚刚意识到它只是为顶层项目的下半部分滚动。也就是说,顶层有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”属性会造成这个?即使在滚动列表时,我也必须设置此属性才能显示背景图像。如果没有这个属性,列表背景在滚动时变成黑色。

+0

有没有在ExpandableListView天生的,将导致此行为的,所以我们需要更详细的为您提供帮助。 – 2011-05-02 19:36:59

回答

5

我面临同样的问题,在这里发现了真正简单的解决方案:Android的ExpandableListView滚动到扩大集团的立场]

编辑:由于链接死曾经在这里一个月了非常简单的解决方案: 刚设置android:transciptMode="disabled"。这可以防止滚动到最后的列表位置。

对于进一步阅读:Transcript mode in Android docs

+0

链接已死 – mamuso 2014-01-27 17:29:46

+1

@mamuso谢谢,我再次发现它是固定的。 – 2014-01-28 17:03:01

+0

再次死去。你能直接在答案中解释解决方案吗?链接往往不是那么可靠。 – 2014-05-16 13:50:52

0

这是标准的ExpandableListView行为。它试图显示用户刚刚扩展的组的所有项目。在你的案例中,展开组1-7不会隐藏任何子项,但是对于其他组,它会这样做,因此列表将滚动。