• Android 一个页面上下两个ListView的页面显示


    Android 一个页面上下两个ListView,当上面的ListView过长时,下面的List基本没有了滑动空间,查阅网上资料,解决办法基本是采用ScrollView做页面滑动,notifyDataSetChanged()之前,动态设置ListView的高度,但是这样会丢失List的回收机制,不太合理,项目紧先这么做了,记录一下。

    /***
         * 动态设置listview的高度
         * 
         * @param listView
         */
        public void setListViewHeightBasedOnChildren(ListView listView) {
            BaseAdapter listAdapter = (BaseAdapter) listView.getAdapter();
            if (listAdapter == null) {
                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);
        }

    以上方法只适应于数据量小的情况。

    另外,网上也有大神指出,ListView跟ScrollView共存时,可以把页面其他元素放入ListView的Header、Footer、Item等。

  • 相关阅读:
    DEEP COMPRESSION小记
    python中join的用法
    Ubuntu下pycharm安装
    java.lang.ClassNotFoundException
    12种排序算法(转载)
    会场安排问题
    在GitHub上上传项目(转载)
    实现prim算法
    经典进程同步与互斥习题总结
    实现迪杰斯特拉算法
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/5681924.html
Copyright © 2020-2023  润新知