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中获取文本宽度和高度
  2. Android——分别获取导航栏、状态栏高度
  3. Android 获取drawable中图片的高度宽度
  4. Android之ScrollView嵌套ListView解决工具
  5. Android RecyclerView 子条目(item)嵌套 RecyclerView

随机推荐

  1. 防止SQLSERVER的事件探查器跟踪软件
  2. sql2005 HashBytes 加密函数
  3. SQl 跨服务器查询语句
  4. MSSQL ISQL命令详解
  5. 返回SQL执行时间的存储过程
  6. 跨服务器查询导入数据的sql语句
  7. sqlserver2005 行列转换实现方法
  8. sql convert函数使用小结
  9. SQL 多表连接查询实现语句
  10. SQL Server 高速缓存依赖分析