安卓简单开发--listview在Scrollview中只显示一行

来源:互联网 发布:太空软件安卓 编辑:程序博客网 时间:2024/06/07 20:09

 在ScrollView中嵌套ListView空间,无法正确的计算ListView的大小


所以我们要在Scrollview中实现多条数据都有只需要:



private void setListViewHeightBasedOnChildren(ListView listView) {    ListAdapter listAdapter = listView.getAdapter();    if (listAdapter == null) {        // pre-condition        return;    }    int totalHeight = 0;    for (int i = 0; i < listAdapter.getCount(); i++) {        View listItem = listAdapter.getView(i, null, listView);        listItem.measure(0, 0);        totalHeight += listItem.getMeasuredHeight();    }    ViewGroup.LayoutParams params = listView.getLayoutParams();    params.height = totalHeight            + (listView.getDividerHeight() * (listAdapter.getCount() - 1));        listView.setLayoutParams(params);}


就可以实现了,

0 0
原创粉丝点击