0

我知道这个问题之前已经讨论过,但我还没有找到合适的答案。我想要一张 3 行 2 列的表格。左列是标题,右列是项目列表。

因此,我有 3 个列表,一个在另一个之下,我想让整个屏幕可滚动(不是每个列表都可以单独滚动)。

解决方案是使用 aScrollView作为主要组件,然后使用 a TableView,然后ListView在表格的右列中使用 a 。问题是它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 行,它工作得很好,但是大小是固定的,这让我回到了我原来的问题。

4

1 回答 1

2

我从您的期望中假设您正在寻找

(标题,(列表视图))

(标题,(列表视图))

(标题,(列表视图))

如果这是您要查找的内容,则可以使用 tableView 作为主要布局,并且可以通过给定其固定高度使 listView 不可滚动。

如何做到这一点,你需要测量每个子视图的高度和它的分隔线高度,并将列表视图的布局参数设置为它的确切高度,然后列表视图将无法滚动,但整个表格视图是可滚动的。

我想让你看看这个链接。 http://iserveandroid.blogspot.sg/2011/06/how-to-calculate-lsitviews-total.html

将布局设置为内容视图后,需要将适配器设置为列表视图,并且立即需要将(计算的高度)布局参数设置为列表视图。

于 2013-05-01T06:10:31.977 回答