2009-10-06 79 views
11

我在LinearLayout中有几个ListView。它是白天列出的东西,所以我有一个TextView,其中包含“Sunday:”,后面是项目列表,后面是“Monday”TextView等。很好,但不适合屏幕。所以我添加了一个ScrollView作为LinearLayout的父项。现在它滚动,但ListViews都有2个条目的空间,无论它们是0还是3条目。有关添加ScrollView父项的问题导致ListViews不能动态调整大小。在列表适配器填充了它们的视图后,我尝试在ScrollView上调用requestLayout(),但那没有做任何事情。有任何想法吗?Android ScrollView布局问题

编辑: 从http://www.anddev.org/viewtopic.php?p=25194和其他链接看来,ScrollView内的ListViews处理不正确。任何人都有一个好的建议来实施列表清单?

+0

你能发布你的布局xml吗?你有没有在你的ListViews中设置android:layout_height =“wrap_content”或类似的东西? – svens 2009-10-06 17:13:01

+0

目前我无法访问布局.. LinearLayout中的所有视图都有layout_height =“wrap_content”,LinearLayout和ScrollView有layout_height =“fill_parent”(在LinearLayout上尝试过wrap_content)。注释掉ScrollView,所有东西都能正确显示出来,但是不能正常显示。 – Aaron 2009-10-06 17:40:05

+0

将ListViews放到ListView中? :)如果我正确地理解它,你想在它下面的ListView中制作一个TextView中的所有工作日的列表。这应该可以在自定义适配器中实现。看到我的问题的答案http://stackoverflow.com/questions/1505751/android-binding-data-from-a-database-to-a-checkbox-in-a-listview它描述了如何扩展ResourceCursorAdapter。也许这可以帮助你构建一个适配器,它可以填充ListView和你星期的ListViews + Caption。 – svens 2009-10-06 18:20:19

回答

14

我对这个话题也很感兴趣,所以我做了一些研究。第一:不要把ListView放在ScrollView中(就像你自己发现的那样)。不幸的是,这个问题没有导致任何解决方案,所以我尝试从我上面的评论我的建议。

我实现了一个自定义ListAdapter并将ListViews放入一个父ListView中。这不起作用(导致与ScrollView相同的问题)。在freenode上与官方android-irc#android-dev上的人聊天时,他们告诉我,将ListView放入ListView与将它们放入ScrollView一样糟糕甚至更糟。不幸的是,他们也无法帮助我解决问题。

似乎只有一种方法可以实现你想要做的事情;请参阅关于此类似问题的答案Scrolling with Multiple ListViews for Android。我们的想法是通过自定义适配器将所有ListView合并为一个列表视图,并在条目之间插入某种标题。这是绝对可行的,但可能需要一些特殊的努力。

+1

为什么你不应该在scrollview中放置listviews? – MalcomTucker 2010-08-12 21:52:26

+16

,因为它们爆炸。 – stealthcopter 2011-06-20 23:04:06

6

我知道它的晚,现在来回答这个权利,但仍 - 它可能是别人谁在类似的问题的情况下到达这里有用的。

我建议你为此使用Expandable ListView。它会解决你所有的问题。 您可以将主/父名称作为周的名称,当您展开它时,您将拥有该特定日期/周/条目的条目列表。 此外,你就不必担心滚动,因为它是由Android :)照顾

如果你试试这个,那么请让我知道,如果这个工程出你的问题 试着搜索上可扩展的例子列表显示。

编辑:检查示例在这里 - http://mylifewithandroid.blogspot.com/2008/05/expandable-lists.html

+0

真的,可扩展名单视图是要走的路 – Axarydax 2011-01-13 08:57:01