美文网首页
2、Listview不能显示正常的条目,只显示一条或二条

2、Listview不能显示正常的条目,只显示一条或二条

作者: 大佬不是大佬 | 来源:发表于2019-07-24 22:51 被阅读0次

造成的原因:由于 ListView在scrollView中无法正确计算它的大小, 故只显示一行。

解决思路:

    1,重写 ListView,覆盖 onMeasure()。 

  2,动态设置 listView高度,不需要重写 listView。(比较复杂,不推荐。)

  3,在xml文件中,直接将Listview的高度写死。(适合 listView不扩展。)

  4,避免ScrollView嵌套Listview,比如使用listview的addHeader()

我使用的是第1种方法,有时第3种。

public class MyListView extends ListView {

@Override

    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

// 加上这句代码就行了。

        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);

        super.onMeasure(widthMeasureSpec, expandSpec);

    }

}

相关文章

网友评论

      本文标题:2、Listview不能显示正常的条目,只显示一条或二条

      本文链接:https://www.haomeiwen.com/subject/ntkqrctx.html