android 控件 scrollview嵌套listview只显示一行
来源:互联网 发布:广电网络是国企吗 编辑:程序博客网 时间:2024/05/29 08:28
android官方不支持scrollview内部嵌套一个scrollview,所以listview嵌套listview或者scrollview嵌套ExpandableListView的话,listview的item是显示不全的,公司最近的项目中涉及到了这个问题,解决方法如下:
在设置了adapter之后,调用计算高度的方法即可;
在设置了adapter之后,调用计算高度的方法即可;
ScrollView中嵌套ListView:
public void setListViewHeightBasedOnChildren(ListView listView) {ListAdapter listAdapter = listView.getAdapter();if (listAdapter == null) {return;}int totalHeight = 0;for (int i = 0; i < listAdapter.getCount(); i++) {View listItem = listAdapter.getView(i, null, listView);listItem.measure(0, 0);totalHeight += listItem.getMeasuredHeight();}ViewGroup.LayoutParams params = listView.getLayoutParams();params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));listView.setLayoutParams(params);}
public static void setListViewHeightBasedOnChildren(ExpandableListView listView ) {// 获取ListView对应的AdapterExpandableListAdapter listAdapter = listView.getExpandableListAdapter();if (listAdapter == null) {// pre -conditionreturn;}int totalHeight = 0;for (int i = 0; i < listAdapter.getGroupCount(); i++) { // listAdapter.getCount()返回数据项的数目View listgroupItem = listAdapter .getGroupView(i, true, null, listView );listgroupItem.measure(0, 0); // 计算子项View 的宽高totalHeight += listgroupItem .getMeasuredHeight(); // 统计所有子项的总高度System. out.println("height : group" +i +"次" +totalHeight );for (int j = 0; j < listAdapter.getChildrenCount( i); j++) {View listchildItem = listAdapter .getChildView(i, j, false , null, listView);listchildItem.measure(0, 0); // 计算子项View 的宽高totalHeight += listchildItem.getMeasuredHeight(); // 统计所有子项的总高度System. out.println("height :" +"group:" +i +" child:"+j+"次"+ totalHeight);}}ViewGroup.LayoutParams params = listView .getLayoutParams();params.height = totalHeight + ( listView.getDividerHeight() * (listAdapter.getGroupCount() - 1));// listView.getDividerHeight()获取子项间分隔符占用的高度// params.height最后得到整个ListView完整显示需要的高度listView.setLayoutParams(params);}
0 0
- android 控件 scrollview嵌套listview只显示一行
- Android中ScrollView嵌套ListView只显示一行的解决方案
- Android ScrollView嵌套ListView只显示一行数据
- 日积月累:ScrollView嵌套ListView只显示一行
- ScrollView嵌套ListView解决只显示一行
- ScrollView嵌套ListView只显示一行
- 穷年累月:ScrollView嵌套ListView只显示一行
- 日积月累:ScrollView嵌套ListView只显示一行
- ScrollView嵌套ListView只显示一行
- ScrollView嵌套ListView只显示一行
- ScrollView嵌套ListView只显示一行
- ScrollView嵌套ListView只显示一行
- ScrollView嵌套ListView只显示一行解决方案
- 日积月累:ScrollView嵌套ListView只显示一行
- ScrollView嵌套ListView只显示一行
- ScrollView嵌套ListView只显示一行
- ScrollView嵌套ListView只显示一行
- ScrollView嵌套ListView只显示一行
- spark 多目录输出
- ajax接收json数据到js解析
- SAP银企直联解决方案
- 用c#绘制曲线图
- 基于脚本的攻击或可绕过微软的反恶意软件扫描接口(AMSI)
- android 控件 scrollview嵌套listview只显示一行
- 云计算时代:传统it都理解错的“GET 与 POST 的区别”你造吗?
- Android控件架构以及setContentView()方法剖析
- 我踩的thymeleaf渲染框架的坑
- Mybatis中javaType和jdbcType对应关系
- 大数据具有哪些特点及作用?
- MATLAB实现多分类问题,使用libsvm,1-vs-rest和1-vs-1两种方法代码
- Service Intent must be explicit 原因和解决方法
- 学习RAC小记-适合给新手看的RAC用法总结