ListView列表只显示一行的问题

原创 2017年01月03日 10:13:39

这里所提的ListView列表只显示一行的情况是,当ListView嵌套在ScrollView或PullToRefreshScrollView中的情况;

网上查询问题之后,大部分提供的答案是,在mListView.setAdapter(mAdapter)之后执行:

public static void getListHeight(ListView listView){
    // 获取listview的adapter
    ListAdapter listAdapter = listView.getAdapter();
    if (listAdapter == null) {
        return;
    }
    // 固定列宽,有多少列
    int row = listAdapter.getCount();//行数
    int totalHeight = 0;
    for (int i = 0; i < row; i++) {
        // 获取listview的每一个item
        View listItem = listAdapter.getView(i, null, listView);
        listItem.measure(0, 0);
        // 获取item的高度和
        totalHeight += listItem.getMeasuredHeight();
    }

    // 获取listview的布局参数
    LayoutParams params = listView.getLayoutParams();
    // 设置高度
    params.height = totalHeight;
    // 设置参数
    listView.setLayoutParams(params);
},

但是事实有些时候不行;

最终我采取的方式是,重写ListView或GridView中的
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

   int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
         MeasureSpec.AT_MOST);
   super.onMeasure(widthMeasureSpec, expandSpec);
}
然后,就很容易的实现了;

如想了解为什么需要测量高度,网上资源很多,原理也很明了,此处只作为简单的笔记,与大家共享;

版权声明:本文为博主原创文章,未经博主允许不得转载。

android listView的item 显示多种不同的布局

1.这篇博文不算什么知识点。使用的都是的系统中已经提供给我们的方式方法。这是最近用到了,感觉很实用,特此贡献出来。 首先需要定义,listview中需要展示的view个数,和view的布布局类型 ...
  • o279642707
  • o279642707
  • 2015年01月18日 00:19
  • 2776

Android ListView同一个item显示2列的实现方法(仿2列商品列表)

Android实战开发中,ListView控件用途十分广泛,各种自定义控件多种多样。当项目要求实现一个2列的商品列表形式的界面,我们首先肯定想到用ListView,然后我们可以使用百度的自定义List...
  • ruxishanshi
  • ruxishanshi
  • 2016年03月22日 22:53
  • 4928

Android 自定义ListView只显示第一条数据的问题

最近,要在应用中做一个功能,查询SQLite数据库中的记录,用列表进行展示。 关于选择哪种布局,因为考虑到界面上要增加一些筛选条件,界面会稍显复杂,所以就没有继承ListFragment,而是继承了...
  • zhouyingge1104
  • zhouyingge1104
  • 2015年02月14日 19:48
  • 10425

解决GridView,ListView嵌套在ScrollView时只显示一行高度的问题

相信很多开发者碰到如题所示问题.         Gridview,ListView嵌套在ScrollView中,那么,你需要重写Gridview,ListView控件,不然Gridview,List...
  • scry5566
  • scry5566
  • 2015年11月04日 20:30
  • 1246

解决ScrollView嵌套ListView只显示一行的问题

前几天因为项目的需要,要在一个ListView中放入另一个ListView,也即在一个ListView的每个ListItem中放入另外一个ListView。但刚开始的时候,会发现放入的小ListVie...
  • wupuquan
  • wupuquan
  • 2014年02月20日 14:09
  • 2257

ScrollView嵌套ListView只显示一行的问题

手机自带的通讯录操作起来不太方便,于是自己做了一个通讯录,但在其中遇到了问题,发现ScrollView嵌套ListView只显示一行,于是查阅相关资料发现在ScrollView中嵌套ListView空...
  • Alien89757
  • Alien89757
  • 2015年02月20日 21:32
  • 315

ScrollView嵌套ListView,gridView只显示一行解决方案 (以及计算显示高度错误问题)

今天遇到问题如题:               最后通过网络找到答案,,,主要是ScrollView问题,,,所以贴出来大家一起共同学习.            解决方法1:(代码去计算高度,然后...
  • changlei_shennan
  • changlei_shennan
  • 2015年06月04日 11:32
  • 581

解决ScrollView下嵌套ListView/GridView进页面不在顶部的问题以及数据显示不全的问题( 只显示一行)

在网上看到如下的解决方案,我现在定义了多个listview,所以出现了有时候起作用有时候不起作用,错误的解决方法如下:错误解决方案1:错误解决方案2: 正确解决方案,重写ScrollView,添加如...
  • yy1300326388
  • yy1300326388
  • 2015年07月28日 16:22
  • 2870

安卓开发——问题:ScrollView中嵌套ListView时,listview只显示一行

今天写项目时,遇到一个问题,自己给listview适配了好几条数据,可它打死就只显示一条,不管怎么改属性,怎么打log,就是发现不了问题在哪。 后来在网上才寻找到原因,tmd,竟然是ScrollVie...
  • qq_28484355
  • qq_28484355
  • 2016年04月12日 16:11
  • 437

ScrollView嵌套ListView只显示一行

在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容。在最近的工作中,遇见一个需求,需要将ListView嵌套到ScrollView中显示。于是乎有了如下布局:  ...
  • a623891391
  • a623891391
  • 2014年09月24日 08:36
  • 558
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ListView列表只显示一行的问题
举报原因:
原因补充:

(最多只允许输入30个字)