您的位置:首页 > 移动开发 > Android开发

android 垂直两级ListView联动

2015-05-12 22:35 330 查看
android 垂直两级ListView联动解决

思路:将一个ListView设置位另一个ListView的Footer或者Header。我使用的是作为Footer。但是在实践过程中出现问题,就是作为Footer的ListView只显示一项。
后来弄了一下午都不行,然后终于在网上找到了方法。就是动态设置作为Footer的ListView的高度。
在设置adapter之后,调用如下方法动态设置ListView的高度。


/**
* 动态设置listview的高度
* @param listView
*/
public void setListViewHeightBasedOnChildren(ListView listView) {
ListAdapter adapter = listView.getAdapter();
if(adapter != null) {
int totalHeight = 0;
for(int i=0; i<adapter.getCount(); i++) {
View listItem = adapter.getView(i, null, listView);
listItem.measure(0, 0);
totalHeight += listItem.getMeasuredHeight();
}
ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (adapter.getCount() - 1));
((MarginLayoutParams) params).setMargins(0, 0, 0, 0);
listView.setLayoutParams(params);
System.out.println(params.height + "===" + adapter.getCount());
}
}


这是第一篇博客,以后要养成写博客的习惯了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息