zoukankan      html  css  js  c++  java
  • scrollview中套listView的问题,记录一下。

    开发一个订单详情界面,详情界面上面要显示收货地址、订单总金额等,中间部分要一个listView,下面还有一些东西

    但是一个界面显示不全,肯定要scrollview,然后发现listView竟然只显示第一个,查了一下问题大概就是android支持这么搞,反正解决办法网上是一大堆,没有仔细研究。但是这个办法走了一个捷径。反正能满足我的需求了。

    大概布局就是 

    <LinearLayout>

    <ListView>
    </ListView>


    </LinearLayout>

    然后在setAdapter后调用下面这个办法

    大概就是统计item相加的高度,动态设置这个线性布局的高度。记录一下

    public class Utility {

    public static void setListViewHeightBasedOnChildren(ListView listView) {

    //获取ListView对应的Adapter

    ListAdapter listAdapter = listView.getAdapter(); 

    if (listAdapter == null) {

    // pre-condition

    return;

    }

    int totalHeight = 0;

    for (int i = 0, len = listAdapter.getCount(); i < len; i++) { //listAdapter.getCount()返回数据项的数目

    View listItem = listAdapter.getView(i, null, listView);

    listItem.measure(0, 0); //计算子项View 的宽高

    totalHeight += listItem.getMeasuredHeight(); //统计所有子项的总高度

    }

    ViewGroup.LayoutParams params = listView.getLayoutParams();

    params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));

    //listView.getDividerHeight()获取子项间分隔符占用的高度

    //params.height最后得到整个ListView完整显示需要的高度

    listView.setLayoutParams(params);

    }

    }

  • 相关阅读:
    select_tag in rails about selected not change and onchange()
    debian7 请把标有“Debian GNU/Linux 7.1.0 _Wheezy_
    rails关于utf8问题-------------------utf8申明必须置顶
    ruby 删除文件
    svn conflict
    40亿个有序不同的数的文件中找一个缺失的数
    马云语录
    语音识别概率问题,一段在数学之美了看到的话
    两个有序数组的中位数
    磁盘文件排序-编程珠玑
  • 原文地址:https://www.cnblogs.com/Jerseyblog/p/4122728.html
Copyright © 2011-2022 走看看