android开发中使不同的listview同时联动

       在做一个Android程序时,需要在一个屏幕上显示两个不同的listview,开始用< linearlayout>包裹这两个listview在<ScrollView >设置时,

出现了不能同时联动的问题。

 其中一个listview是我需要把数据绑定到这张图片上,如图:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

绑定内容请忽略!!!

后来才知道需要设定每个listview的高度,并且绑定到View中, 才能实现同时联动。

 1  public void SetListViewHeight(ListView listView) {    
 2         ListAdapter List_Adapter = listView.getAdapter();    
 3         if (List_Adapter  == null) {    
 4             return;    
 5         }    
 6         int ALLHeight = 0;    
 7         for (int i = 0; i < List_Adapter.getCount(); i++) {    
 8             View listItem = List_Adapter.getView(i, null, listView);    
 9             listItem.measure(0, 0);  // 在还没有构建View 之前无法取得View的度宽。在此之前我们必须选 measure 一下.   
10             ALLHeight += listItem.getMeasuredHeight();    
11         }    
12         ViewGroup.LayoutParams params = listView.getLayoutParams();    
13         params.height = ALLHeight + (listView.getDividerHeight() * (List_Adapter.getCount() - 1)); // listView.getDividerHeight()获取子项间分隔符占用的高度
14            
15                                                 // params.height得到整个ListView完整显示需要的高度    
16         listView.setLayoutParams(params);    
17     }

在需要绑定的listview后面调用一下 “SetListViewHeight(ListView listView)”函数,就能实现两个或多个不同的listview同时联动。

posted @ 2016-03-21 16:13  孤帆远航666  阅读(1488)  评论(0编辑  收藏  举报