正文
android开发中使不同的listview同时联动
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
在做一个Android程序时,需要在一个屏幕上显示两个不同的listview,开始用< linearlayout>包裹这两个listview在<ScrollView >设置时,
出现了不能同时联动的问题。
其中一个listview是我需要把数据绑定到这张图片上,如图:
绑定内容请忽略!!!
后来才知道需要设定每个listview的高度,并且绑定到View中, 才能实现同时联动。
public void SetListViewHeight(ListView listView) {
ListAdapter List_Adapter = listView.getAdapter();
if (List_Adapter == null) {
return;
}
int ALLHeight = 0;
for (int i = 0; i < List_Adapter.getCount(); i++) {
View listItem = List_Adapter.getView(i, null, listView);
listItem.measure(0, 0); // 在还没有构建View 之前无法取得View的度宽。在此之前我们必须选 measure 一下.
ALLHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = ALLHeight + (listView.getDividerHeight() * (List_Adapter.getCount() - 1)); // listView.getDividerHeight()获取子项间分隔符占用的高度 // params.height得到整个ListView完整显示需要的高度
listView.setLayoutParams(params);
}
在需要绑定的listview后面调用一下 “SetListViewHeight(ListView listView)”函数,就能实现两个或多个不同的listview同时联动。