我知道這個問題已經討論過,但我還沒有找到合適的答案。 我想有一個3行2列的表格。左欄是標題,右欄是項目清單。固定大小(不滾動)ListView
因此,我有3個列表,一個在另一個之下,我想使整個屏幕可滾動(不是每個列表可單獨滾動)。
解決方法是使用ScrollView
作爲主要組件,然後使用TableView
,然後在表的右欄中使用ListView
。問題是ListView
是一個可滾動的組件,不會在ScrollView
內工作。
我的問題 - 有沒有任何組件,無論是Android API或第三方的一部分,具有ListView
的功能,但是是固定的大小?我想享受適配器功能和onItemClick()
功能(這給了我點擊的項目的位置)。
感謝
編輯:我想建議設置手動ListView
的高度,其結果是,在ListView
應該在區域中確實擴大爲必要的,但並沒有顯示在列表中的元素。
我用下面的代碼:
ListView lv = (ListView)view.findViewById(R.id.list);
lv.setAdapter(adapter);
LinearLayout.LayoutParams lParams = new LinearLayout.LayoutParams(lv.getLayoutParams());
lParams.height = calculateHeight(lv);
lv.setLayoutParams(lParams);
沒有最後3行只是正常工作,但隨後的大小是固定的,這使我回到我原來的問題。
我不完全確定我明白你的問題,但如果問題在於listview是一個可滾動項目的事實,你可以不使用'setScrollContainer(boolean isScrollContainer)'基本上禁用在列表視圖上的滾動? ...鏈接到Android文檔http://developer.android.com/reference/android/view/View.html#setScrollContainer(boolean) – brendosthoughts 2013-05-01 06:01:34
*我想使整個屏幕滾動(不是每個列表可滾動分開) 。*和*我想享受適配器功能和onItemClick()功能*這兩句話自相矛盾。如果你要顯示'ListView'而不滾動(顯示所有內容?),那麼適配器就沒用了,你最好手工建立列表。如果你想要別的東西,請解釋一下。 – Luksprog 2013-05-01 06:14:35
@Luksprog,好吧,說我手動填充列表,雖然適配器是一個很好的方式來做到這一點,我怎樣才能設置每個元素的'onClick()'發送元素在列表中的位置?我是否必須使用數字設置動態ID,然後將它們解析爲int或者是否有更多內置方法?另外'ListView'在點擊元素時有動畫效果,我也必須自己實現呢?我知道有可能自己實現類似於ListView的東西,我只是希望有一些東西可以幫我節省工作。 – tbkn23 2013-05-01 15:25:12