ListView在ScrollView中无法正常显示

「已注销」 2010-05-01 12:26:04
ListView在ScrollView中无法正常显示
对于ListView放在在ScrollView中时,目前Android平台仍然有些bug,状态是显示的ListView仅仅大约一行半(总Item肯定大于2行,比如10行),通过Layout布局属性设置目前仍然无法修正。通过分析ListView和ScrollView构造没有发现很好的解决方法,目前可以通过自己实现ListView来解决,Android123解决的方式重写ListView的onMeasure重新计算显示行数。希望在Android以后的版本,至少2.1以后能够改进。

这个问题大家怎么解决的?

能不能提供一个具体的例子
...全文
5228 41 打赏 收藏 转发到动态 举报
写回复
用AI写文章
41 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanjunhui2011 2012-07-22
  • 打赏
  • 举报
回复
http://download.csdn.net/detail/yanjunhui2011/4444300
这里面有完整的解决此问题的DEMO。
zzl845 2012-06-28
  • 打赏
  • 举报
回复
怎么搞啊?[Quote=引用 38 楼 的回复:]
#37楼 哥们你可够搞笑的 你调用的方法不是系统方法 我们去哪调用呀 呵呵 不过明白你的意思 无非是动态计算listview的高度然后进行设置,这个方法可以很好的解决这个问题。 已经搞定了 哈哈
[/Quote]
izen 2012-03-06
  • 打赏
  • 举报
回复
#37楼 哥们你可够搞笑的 你调用的方法不是系统方法 我们去哪调用呀 呵呵 不过明白你的意思 无非是动态计算listview的高度然后进行设置,这个方法可以很好的解决这个问题。 已经搞定了 哈哈
草尘 2012-03-01
  • 打赏
  • 举报
回复
经过验证,简单有效,在listview.setAdapter()之后调用Utility.setListViewHeightBasedOnChilren(listview)就Okay 了
阿顺顺1215 2012-01-17
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 liqi4960710 的回复:]
LZ试试这样布局
<ScrollView >
<LinearLayout>
<ListView>
</ListView>
</LinearLayout>
</ScrollView >
[/Quote]
我现在就是这个写法,显示上没有问题,但是ListView很难滚动,偶尔一次能滚一下!我的页面:整个页面内容稍多,在小屏幕上显示不完全,所以加了ScrollView,另页面中间是一个Listview显示用户列表,没想到其他好的解决办法!搜一下原来有这么多人遇到了这问题!暂时把ScrollView去掉了,320*480的手机不太多了。
阿顺顺1215 2012-01-17
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 offside2008 的回复:]
不明白你为什么要在listview 外面套 scrollView??
[/Quote]
[Quote=引用 15 楼 liqi4960710 的回复:]
LZ试试这样布局
<ScrollView >
<LinearLayout>
<ListView>
</ListView>
</LinearLayout>
</ScrollView >
[/Quote]
我现在就是这个写法,显示上没有问题,但是ListView很难滚动,偶尔一次能滚一下!我的页面:整个页面内容稍多,在小屏幕上显示不完全,所以加了ScrollView,另页面中间是一个Listview显示用户列表,没想到其他好的解决办法!搜一下原来有这么多人遇到了这问题!暂时把ScrollView去掉了,320*480的手机不太多了。哈哈,有合适的办法再加吧!
chenzekai123 2011-07-22
  • 打赏
  • 举报
回复
学习了。。。。。。。。。。。
ChoiRyonggun 2011-06-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 ccll_4177 的回复:]

这个问题已经问了好多了,根本上讲就不建议把ListView放进ScrollView中,因为ListView自己带滚动效果,如果非要放进去,肯定会出现UI异常,如果非要实现那些效果,可以换个思路考虑一下,
[/Quote]

真理!不看这句话我还不知道,一实还真是!
offside2008 2011-06-16
  • 打赏
  • 举报
回复
不明白你为什么要在listview 外面套 scrollView??
BuleRiver 2011-05-15
  • 打赏
  • 举报
回复
ListView本身就支持滚动吧?为什么要放入ScrollView呢?
tonyzzp 2011-05-15
  • 打赏
  • 举报
回复
listview.addheaderview
syab1108 2011-04-11
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 liqi4960710 的回复:]

LZ试试这样布局
<ScrollView >
<LinearLayout>
<ListView>
</ListView>
</LinearLayout>
</ScrollView >
[/Quote]

然后在代码中这样设置
LinearLayout.LayoutParams lp1 = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT, adapter.getCount() * 50 - 1);
listview.setLayoutParams(lp1);
其中50是每行的高度
ameyume 2010-12-20
  • 打赏
  • 举报
回复
这个问题是老问题了,要解决肯定要重写一些方法。
ScrollView和ListView都能滚动,我觉得ScrollView应该是由用户指定高度的,否则系统不着调如何设置高度了

持续关注
Rdiverson 2010-12-20
  • 打赏
  • 举报
回复
这个是可以的
,如果高度是“wrap_content”的,你又怎么去设置高度呢,
  • 打赏
  • 举报
回复
在代码里控制,计算每一个Item高度,然后乘以个数。得到结果,把这个结果设为ScrollView高度。呵呵。有点笨。
Rdiverson 2010-12-20
  • 打赏
  • 举报
回复
setMeasuredDimension 不能去确定究竟listView要显示多高的高度,如果要加载进来的话,最好是不用listView,用一个循环去动态的加载每一条数据,用header和footer对与显示一个简单的还可以,不如说一段文字下面有附件,可以把文字当成header,不用scrollview,也可以实现,但是 ,遇见一个有一个正文,下面有附件,关联文章,最近浏览人, 等等 你想用一个页面显示出来,并且整体是一个滚动效果,目前我就是这样去做的,但太麻烦了,期待更好的解决办法
clarketang 2010-11-03
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 liujinrui 的回复:]

楼主先确认一下想实现什么效果啊
我以前也遇到过,不过后来用listview的header和footer解决了。
[/Quote]
说说怎么解决的?
DrSmart 2010-11-03
  • 打赏
  • 举报
回复
不重写setMeasuredDimension是无法解决的,套嵌listview在scrollview中只会显示一行半,用header和footer是无法解决的
liujinrui 2010-08-18
  • 打赏
  • 举报
回复
楼主先确认一下想实现什么效果啊
我以前也遇到过,不过后来用listview的header和footer解决了。
Rui_X 2010-08-18
  • 打赏
  • 举报
回复
在网上查了一下,找到了解决方法,但是没有搞透彻,大家可以看一下还有没有更好的办法
自己写个类继承ListView 然后重新
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)这个方法
在中间调用setMeasuredDimension(320, 480);设置新的宽高

public class XListView extends android.widget.ListView{

public XListView(android.content.Context context) {
// TODO Auto-generated constructor stub
super(context);

}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
setMeasuredDimension(320, 480);
}
}
加载更多回复(20)

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧