Android中 ScrollView(ListView)中嵌套ListView时显示不全的简便解决方案

分类: Android UI Android开发 884人阅读 评论(0) 收藏 举报 listview android null class

利用下面这个Utility 类的静态方法setListViewHeightBasedOnChildren()即可实现:

在listview.setAdapter()之后调用Utility.setListViewHeightBasedOnChilren(listview)就Okay 了。

[java] view plain copy print ?
  1. publicclassUtility{
  2. publicstaticvoidsetListViewHeightBasedOnChildren(ListViewlistView){
  3. //获取ListView对应的Adapter
  4. ListAdapterlistAdapter=listView.getAdapter();
  5. if(listAdapter==null){
  6. //pre-condition
  7. return;
  8. }
  9. inttotalHeight=0;
  10. for(inti=0,len=listAdapter.getCount();i<len;i++){//listAdapter.getCount()返回数据项的数目
  11. ViewlistItem=listAdapter.getView(i,null,listView);
  12. listItem.measure(0,0);//计算子项View的宽高
  13. totalHeight+=listItem.getMeasuredHeight();//统计所有子项的总高度
  14. }
  15. ViewGroup.LayoutParamsparams=listView.getLayoutParams();
  16. params.height=totalHeight+(listView.getDividerHeight()*(listAdapter.getCount()-1));
  17. //listView.getDividerHeight()获取子项间分隔符占用的高度
  18. //params.height最后得到整个ListView完整显示需要的高度
  19. listView.setLayoutParams(params);
  20. }
  21. }

其实原理就是动态的改变ListView控件的高度。


版权声明:本文为博主原创文章,未经博主允许不得转载。

更多相关文章

  1. Android(安卓)设备+APP+号码信息
  2. Android设备硬件序列号(SN、串号)分析
  3. Android多媒体学习三:实现自己的Camera
  4. 【Android】如何让跑马灯跑起来-控件请求焦点
  5. Android根据文件路径使用File类获取文件相关信息
  6. android获取GPS位置信息
  7. android 中的几种目录
  8. Android中屏幕相关的操作
  9. Android获取经纬度

随机推荐

  1. Failure [INSTALL_FAILED_OLDER_SDK] 的
  2. android 判断应用是否在后台
  3. Android Scroll 中嵌套ListView
  4. android 判断屏幕是横屏还是竖屏
  5. 被安排研究android测试。。。
  6. Android 软键盘的显示与隐藏
  7. 关于 SQLiteOpenHelper 的自创建数据库目
  8. Android几行代码解决键盘遮挡问题
  9. android的failed binder transcation错误
  10. Android自定义添加圆角渐变色按钮+点击效