Android -- ScrollView和ListView衝突問題


//處理ScrollView和ListView衝突問題,計算ListView的Item高度
  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));
      ((MarginLayoutParams) params).setMargins(10, 10, 10, 10);
      listView.setLayoutParams(params);
  }
相關文章
相關標籤/搜索