Android中在ScrollView中显示ListView
来源:互联网 发布:网络女主播视频 编辑:程序博客网 时间:2024/05/22 05:20
在以前一个项目中碰到这么一个需求,要将一个ListView嵌套在一个外部ScrollView当中,试了后发现,ListView的高度出了问题,始终只显示一点,并且滑动也有问题,Android默认是禁止将ListView潜逃在ScrollView里面的,虽然这种设计不被推崇,但是后来到Stackoverflow上找到了一个解决方法,那就是在为ListView设置Adapter后,重新计算子item的高度,然后通过LayoutParams重新给ListView设置高度,这样就能正常显示了。当然以上问题在iOS开发中是不存在的,iOS允许在View中再添加View,所以iOS中可以在一个UIScrollView中再添加一个UITableView。回到正题,看看如何解决Android开发中的这个问题,很简单,在为ListView设置完adapter后,调用下面这个静态方法就可以了:
public class Utility { public static 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); } }
对Android&IOS感兴趣的朋友可以加入我们的讨论QQ群,在这里,我们只讨论干货:
iOS群:220223507
Android群:282552849
觉得文章对你有用,点击右下角的转发按钮分享给更多人!
同时欢迎关注我的新浪微博和我交流:@唐韧_Ryan
- Android中在ScrollView中显示ListView
- ListView在ScrollView中显示
- Android:ListView在Scrollview中显示不全的解决办法
- android ScrollView中嵌套ListView显示问题
- android中Scrollview 嵌套ListView显示问题
- Android: 如何在ScrollView中嵌套ListView
- Android:如何在ScrollView中嵌套ListView
- Android -- 在ScrollView中嵌套ListView
- Android: 如何在ScrollView中嵌套ListView
- 在ScrollView中嵌套ListView,ListView无法完全显示
- 在scrollview中嵌套listview,listview显示不全问题
- Android在ScrollView中嵌套ListView,ListView高度设置问题
- [Android] 在ScrollView 中嵌套 GridView/ListView时只显示一行的原因和解决办法
- ListView&ExpandableListView在ScrollView中不能显示完全
- ListView包含在scrollView中长度显示不出问题解决
- 在ScrollView中嵌套ListView能显示所有数据
- ListView 和 ExpandableListView在ScrollView中不能显示的解决办法
- 重写ListView、GridView让其在ScrollView中完整显示
- 基于cocos2d-x引擎的游戏框架设计
- Android 中Logcat的使用
- C语言15大头文件介绍
- MyGeneration 自动生成nhibernate
- VS断点调试
- Android中在ScrollView中显示ListView
- win7下使用PHP Expert Editor编写php程序,传入已经搭配好LAMP环境的Ubuntu内的服务器上
- 查询域名所指向的IP地址
- C#控件
- 常量成员函数
- Java初始化(构造函数)
- JAVA接口联调
- SQLServer2000同步复制技术实现步骤
- 如何成为优秀的程序员