解决listview与scroll冲突,自定义listview高度

//自定义listview的高度
private void listviewHeight(ListView list){
  ListAdapter listadapte = list.getAdapter();
  if(listadapte==null){
    return;
  }
  int totalH=0;
  for(int i=0,len=listadapte.getCount();i<len;i++){
    //listadapte.getCount()返回数据项的数目
    View listitem=listadapte.getView(i, null, list);
    //计算子项的高度
    listitem.measure(0, 0);
    //计算所有子项的高度
    totalH+=listitem.getMeasuredHeight();
  }
  ViewGroup.LayoutParams params=list.getLayoutParams();
  //params.height获取整个listview的高度
  //list.getDividerHeight()获取子项间隔符几个高度
  params.height=totalH+(list.getDividerHeight()*(listadapte.getCount()-1));
  list.setLayoutParams(params);
}

最后在oncreate()调用此方法

posted @ 2015-06-17 13:42  guoshouhua  阅读(126)  评论(0编辑  收藏  举报