关于scrollview内嵌listview的问题

本文介绍了在项目开发中遇到的ScrollView内嵌ListView时常见的问题及其解决方案,如滚动事件冲突、数据加载错误等,并提供了核心代码及多种解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在项目开发中,时常会用关于scrollview内嵌listview来显示一些数据,这样常出现一些问题,比如滚动事件冲突,加载数据过多,超过屏幕的宽度所显示的事件,然后又直接显示到最后一条的数据。
对于事件冲突,可以重现listview空间,屏蔽它的滚动事件,
核心代码
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}


对于数据显出错误的,要么让scrollview 在activity初始化的时候就获取到焦点,要么在listview上面的控件让他获取到焦点,都是可以解决这个问题的。
eg:法一:
						prickListView.setSelection(0);

方法二 :
 textview.setFocusable(true);
textview.setFocusableInTouchMode(true);
textview.requestFocus();

方法三:
scrollview.scrollTo(0, 0);


这样完美的解决了以上结合使用的问题。

类似的 gridview 和listview, listview与scrollview,scrollview和gridview等,都可以使用类似的方法来解决,他们结合使用的时候出现的各种问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值