2009-10-06 101 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