ScrollView 嵌套 ListView  时,Android 会无法正确的计算  ListView 的大小。

因而提供两种 解决方法 :

  • layout文件 中去掉嵌套
  • 计算 listView 高度
    private void fixListViewHeight(ListView listView)    {        int totalHeight = 0;        // 如果没有设置数据适配器,则 ListView 没有子项,返回        ListAdapter listAdapter = listView.getAdapter();        if (listAdapter == null)            return;        for (int index = 0,len = listAdapter.getCount(); index < len; index++ )        {            View listViewItem = listAdapter.getView(index,null,listView);            // 计算子项 View 的宽高            listViewItem.measure(0, 0);            // 计算所有子项的高度和            totalHeight += listViewItem.getMeasuredHeight();        }        ViewGroup.LayoutParams params = listView.getLayoutParams();        //listView.getDividerHeight () 获取子项间分隔符的高度        //params.height 设置 ListView 完全显示需要的高度        params.height = totalHeight + (listView.getDividerHeight()*(listAdapter.getCount()-1));        listView.setLayoutParams(params);    }

使用方法:

        //适配器创建及设置        setting_adapter = new Setting_Adapter(getActivity(),data);        list.setAdapter(setting_adapter);        //解决ScrollView中listview显示数据不全的问题        fixListViewHeight(list);

 

更多相关文章

  1. android EditText设置不可写
  2. android“设置”里的版本号
  3. 在Fragment中设置控件点击方法,执行失败。
  4. Android(安卓)闹钟管理类的使用
  5. Android设置通知栏/状态栏透明改变通知栏颜色和app最上部分颜色
  6. android 设置中划线 下划线等
  7. Andorid Dialog 示例【慢慢更新】
  8. Android软键盘适配问题
  9. android图表ichartjs

随机推荐

  1. WebKit "拒绝设置不安全的标题'内容长度'
  2. 关于JavaScript变量声明及其初始化的问题
  3. 原生js操作dom的笔记整理
  4. Javascript操作DOM常用API总结
  5. Angularjs指令ng-hide在单元格模板中不对
  6. 编写高性能Javascript
  7. Gulp-Coveralls返回422,没有找到TravisCI
  8. 如何使用Angular ng-repeat对数据进行分
  9. Ember JS 2对HTML的更改在重新渲染后被删
  10. 如何使用流星进行API调用并将header传递