当前访客身份:游客 [ 登录 | 加入开源中国 ]

代码分享

当前位置:
代码分享 » Java  » 手机App开发
分享到: 
收藏 +0
2
android中的ListView与ScrollView冲突保留ScrollView滚动
标签: <无>

代码片段(1) [全屏查看所有代码]

1. [代码]android中listView与scrollView冲突     跳至 [1] [全屏预览]

@Override
	protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
		int heightSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
				MeasureSpec.AT_MOST);
		super.onMeasure(widthMeasureSpec, heightSpec);
	}


开源中国-程序员在线工具:Git代码托管 API文档大全(120+) JS在线编辑演示 二维码 更多»

发表评论 回到顶部 网友评论(22)

  • 1楼:kenping 发表于 2013-06-25 16:25 回复此评论
    这样做的话,ListView的回收机制失去了意义,数据一多就悲剧了
  • 2楼:敲代码的NY 发表于 2013-06-27 09:38 回复此评论
    我就是怎么做的,哈哈
  • 3楼:敲代码的NY 发表于 2013-06-27 09:39 回复此评论

    引用来自“kenping”的评论

    这样做的话,ListView的回收机制失去了意义,数据一多就悲剧了
    那请问你是用什么方法解决的呢
  • 4楼:kenping 发表于 2013-06-27 13:08 回复此评论

    引用来自“蜗牛暴走”的评论

    引用来自“kenping”的评论

    这样做的话,ListView的回收机制失去了意义,数据一多就悲剧了
    那请问你是用什么方法解决的呢
    把想一起滚动的东西放入ListView,Header、Footer、Item都行!
  • 5楼:敲代码的NY 发表于 2013-06-28 09:08 回复此评论

    引用来自“kenping”的评论

    引用来自“蜗牛暴走”的评论

    引用来自“kenping”的评论

    这样做的话,ListView的回收机制失去了意义,数据一多就悲剧了
    那请问你是用什么方法解决的呢
    把想一起滚动的东西放入ListView,Header、Footer、Item都行!
    这个也是个不错的方法
  • 6楼:jelly_yan 发表于 2013-07-02 16:04 回复此评论
    我这是针对小数据量的,并定长的
  • 7楼:RyfThink 发表于 2013-07-07 18:45 回复此评论
    想要从跟根本上解决此问题,必须熟悉滚动view及touch时间的传递机制
  • 8楼:onResume 发表于 2013-07-09 22:54 回复此评论
    这样做应该也是一个下下策了吧
  • 9楼:刎枫 发表于 2013-08-18 11:36 回复此评论
    在某些特定情况下,这个还是比较好的解决办法。good job!
  • 10楼:song314 发表于 2013-08-26 14:29 回复此评论
    谢谢楼主分享,不过如果有简单的设计说明那就更好了
  • 11楼:httpping 发表于 2013-11-13 14:34 回复此评论
    建议将view 放入到listview中 让listview统一管理,不然 数据多了就会卡的很的,页面太大会导致更多bug
  • 12楼:atearsan 发表于 2013-11-30 16:21 回复此评论

    引用来自“httpping”的评论

    建议将view 放入到listview中 让listview统一管理,不然 数据多了就会卡的很的,页面太大会导致更多bug
    那怎么更好的解决LZ提出的问题
  • 13楼:atearsan 发表于 2013-11-30 16:23 回复此评论

    引用来自“jelly_fly”的评论

    我这是针对小数据量的,并定长的
    大数据量呢?
  • 14楼:找到组织 发表于 2013-12-12 22:45 回复此评论
    scrollView的主要作用不就是能够滑动一平显示不完的内容吗,而listView本身不就能实现这种功能吗,那你干嘛还要使用这两个潜逃呢,你是指的横向的吗。
  • 15楼:CalssNotFound 发表于 2014-06-18 13:21 回复此评论
    重新计算listview高度, 我以前遇到过这样的需求。
  • 16楼:obaniu 发表于 2014-07-04 10:23 回复此评论
    google来的解决方案吧?这种解决方法是很多问题的。
    可参考ListView嵌入ViewPager等横向滚动控件冲突的终究解决方案  http://my.oschina.net/droidwolf/blog/285430
  • 17楼:發信息 发表于 2014-07-12 10:17 回复此评论
    先将listview进行数据适配,然后根据listview的adapter来重新计算listview的高度,listview的数据会全部显示嵌入到scorllview中,这样滑动scorllview就可以了
  • 18楼:咕噜不爱猫 发表于 2014-12-21 01:06 回复此评论
    首先,建议放在ListView的header或者footer中。
    但是如果非要嵌套的话(现在的场景是 ScrollView里面嵌套了ListView),那自定义ScrollView和ListView,处理各自的touch事件,所有touch事件默认先传递到ListView。1. 当ListView滚动到顶部的时候,手指再往上滚动的时候,则事件交给ScrollView处理;
    2. 当ListView滚动到底部的时候,手指再往下滚动的时候,则事件也交给ScrollView处理;
    3. 其他情况默认把事件给ListView处理。
    具体的事件处理机制自己Google:onInterceptTouchEvent()和onTouchEvent()等api
  • 19楼:冬冬dong 发表于 2015-03-03 15:14 回复此评论

    引用来自“kenping”的评论

    引用来自“蜗牛暴走”的评论

    引用来自“kenping”的评论

    这样做的话,ListView的回收机制失去了意义,数据一多就悲剧了
    那请问你是用什么方法解决的呢
    把想一起滚动的东西放入ListView,Header、Footer、Item都行!
    的确 我一般也是 把其他的 都作为listview的header或者footer处理 否则多了 就会出问题的
  • 20楼:Gandalf007 发表于 2015-08-04 11:43 回复此评论
    如果ListView加载的数据多,就显示不出来了,可以计算item的高度,使用measure(),然后得到单个item的高度getMeasureHeight,最后计算出总的高,通过layoutParams设置给ListView
开源从代码分享开始 分享代码
jelly_yan的其它代码 全部(1)...