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

android listview嵌套listview只显示一行解决方法

2016-10-31 15:32 393 查看
1.复制下面方法加入你代码:
public void setListViewHeightBasedOnChildren(ListView listView) {
        // 获取ListView对应的Adapter
               ListAdapter listAdapter = listView.getAdapter();
              if (listAdapter == null) {        return;    }
              int totalHeight = 0;
              for (int i = 0, len = listAdapter.getCount(); i < len; i++) {                          
                    // listAdapter.getCount()返回数据项的数目
                   View listItem = listAdapter.getView(i, null, listView);        
                   // 计算子项View 的宽高
                   listItem.measure(0, 0); 
                  // 统计所有子项的总高度
                   totalHeight += listItem.getMeasuredHeight();
          } 
         ViewGroup.LayoutParams params = listView.getLayoutParams();
         params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1));
         listView.setLayoutParams(params);

2.然后在adapter的getview方法中调用此方法,传入listview。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐