美文网首页
List View限制显示条目数

List View限制显示条目数

作者: 秋刀鱼_87c6 | 来源:发表于2018-05-14 11:50 被阅读16次

指定列表条目数

应用场景

我们有事会遇到项目嵌套一个条目,控制条目高度以达到协调美观

XML 布局

   <ListView
     android:id="@+id/lv_autism_apply"
     android:layout_width="match_parent"
     android:layout_height="wrap_content">
 </ListView>

Java代码(这里只要一个函数就可实现)

 /**
     * 获取并设置listview 的高度
     * @param listView
     * @param maxCount  设置最大可显示条目数量
     */
    public void setListViewHeightBaseOnChildren(ListView listView, int maxCount) {
        ListAdapter listAdapter = listView.getAdapter();
        if (listAdapter == null) {
            return;
        }
        int totalHeight = 0;
        ViewGroup.LayoutParams params = listView.getLayoutParams();
        if (listAdapter.getCount() > maxCount) {
            for (int i = 0; i < maxCount; i++) {
                View listItem = listAdapter.getView(i, null, listView);
                listItem.measure(0, 0);
                totalHeight += listItem.getMeasuredHeight();
            }
            params.height = totalHeight + (listView.getDividerHeight() * (maxCount - 1));
        } else {
            for (int i = 0; i < listAdapter.getCount(); i++) {
                View listItem = listAdapter.getView(i, null, listView);
                listItem.measure(0, 0);
                totalHeight += listItem.getMeasuredHeight();
            }
            params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
        }

        listView.setLayoutParams(params);
    }

Java代码 填充数据时,调用该方法(设置最大数100,如果超过100则只会显示100条,少于100条如只有5条,则只显示5条)


        setListViewHeightBaseOnChildren(lvAutismApply, 100);

相关文章

网友评论

      本文标题:List View限制显示条目数

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