IT技术浅谈
联系我们
IT技术浅谈

Android中在ScrollView中显示ListView

发布人:AG88 发布时间:2019-01-18

在以前一个项目中碰到这么一个需求,要将一个ListView嵌套在一个外部ScrollView当中,试了后发现,ListView的高度出了问题,始终只显示一点,并且滑动也有问题,Android默认是禁止将ListView潜逃在ScrollView里面的,虽然这种设计不被推崇,但是后来到Stackoverflow上找到了一个解决方法,那就是在为ListView设置Adapter后,重新计算子item的高度,然后通过LayoutParams重新给ListView设置高度,这样就能正常显示了。当然以上问题在iOS开发中是不存在的,iOS允许在View中再添加View,所以iOS中可以在一个UIScrollView中再添加一个UITableView。回到正题,看看如何解决Android开发中的这个问题,很简单,在为ListView设置完adapter后,调用下面这个静态方法就可以了: [java]   public class Utility {           public static void setListViewHeightBasedOnChildren(ListView listView) {               ListAdapter listAdapter = listView.getAdapter();                if (listAdapter == null) {  www.2cto.com                 // 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);  www.2cto.com                 totalHeight += listItem.getMeasuredHeight();               }                  ViewGroup.LayoutParams params = listView.getLayoutParams();               params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));               listView.setLayoutParams(params);           }       }    

http://www.bkjia.com/Androidjc/539193.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/539193.htmlTechArticle在以前一个项目中碰到这么一个需求,要将一个ListView嵌套在一个外部ScrollView当中,试了后发现,ListView的高度出了问题,始终只显示一点,...

本文源自: 环亚娱乐

上一篇:android Mediaplayer各种属性和方法简单介绍
下一篇:没有了