如何在ScrollView中嵌套ListView、ScrollView、EditText、GridView
来源:互联网 发布:h3c端口聚合配置命令 编辑:程序博客网 时间:2024/05/16 17:41
在网上查了这方面的资料,总结来是最好不要这样嵌套使用。据说官方也是这么建议的。下面转下自己看到不错的文章。
前几天因为项目的需要,要在一个ListView中放入另一个ListView,也即在一个ListView的每个ListItem中放入另外一个ListView。但刚开始的时候,会发现放入的小ListView会显示不完全,它的高度始终有问题。上网查了下,发现别人也有遇到这样的问题,而大多数人都不推荐这样的设计,因为默认情况下Android是禁止在ScrollView中放入另外的ScrollView的,它的高度是无法计算的。
又搜索了一下,发现有StackOverflow上的牛人已经解决了这个问题,经过试验发现是可以解决问题的,它的思路就是在设置完ListView的Adapter后,根据ListView的子项目重新计算ListView的高度,然后把高度再作为LayoutParams设置给ListView,这样它的高度就正确了,以下是源码:
只要在设置ListView的Adapter后调用此静态方法即可让ListView正确的显示在其父ListView的ListItem中。但是要注意的是,子ListView的每个Item必须是LinearLayout,不能是其他的,因为其他的Layout(如RelativeLayout)没有重写onMeasure(),所以会在onMeasure()时抛出异常。
在ScrollView中嵌套ListView(或者ScrollView)的另外一个问题就是,子ScrollView中无法滑动的(如果它没有显示完全的话),因为滑动事件会被父ScrollView吃掉,如果想要让子ScrollView也可以滑动,只能强行截取滑动事件,有牛人在论坛中发过代码说可以。虽然我没有亲自试过,但估计是可行的。
虽然在ScrollView中显示ScrollView在技术上的难题可以攻破,但是这样的设计却是非常差的用户体验因为用户会不容易看到和操作子ScrollView中的内容。比如好的设计是,父ListView的每个Item只显示概括性的描述,然后点击其Item会进入另外一个页面来详细描述和展示以及对这个Item的操作。
参考资料:http://stackoverflow.com/questions/3495890/how-can-i-put-a-listview-into-a-scrollview-without-it-collapsing
转自:http://blog.csdn.net/hitlion2008/article/details/6737459- 如何在ScrollView中嵌套ListView、ScrollView、EditText、GridView
- 如何在ScrollView中嵌套ListView、ScrollView、EditText、GridView
- 如何在ScrollView中嵌套ListView和GridView
- ScrollView中嵌套ListView,GridView
- Android: 如何在ScrollView中嵌套GridView
- 如何在ScrollView中嵌套ListView
- 如何在ScrollView中嵌套ListView
- Android: 如何在ScrollView中嵌套ListView
- 如何在ScrollView中嵌套ListView
- 如何在ScrollView中嵌套ListView
- Android:如何在ScrollView中嵌套ListView
- 如何在ScrollView中嵌套ListView
- 如何在ScrollView中嵌套ListView
- 如何在ScrollView中嵌套ListView
- 如何在ScrollView中嵌套ListView
- 如何在ScrollView中嵌套ListView
- 如何在ScrollView中嵌套ListView
- Android: 如何在ScrollView中嵌套ListView
- ALV分类汇总
- P06: 分组的背包问题
- Linux 技巧: 用 cron 和 at 调度作业
- 终于把android4.0的源码download下来啦!!
- JAVA面向对象基础:内部类
- 如何在ScrollView中嵌套ListView、ScrollView、EditText、GridView
- gentoo安装
- 大数据技术炙手可热 专业人才短缺成发展掣肘
- document.body.scrollTop与document.documentElement.scrollTop兼容
- 下拉列表 Spinner
- 网络地址转换NAT
- 实用技巧:统一字符集
- RAC平衡负载依据(摘抄一小段,有待深入)
- P07: 有依赖的背包问题