ScrollView嵌套ListView冲突的最简洁解决方案
来源:互联网 发布:网络机顶盒频道列表 编辑:程序博客网 时间:2024/04/29 09:05
我们在做项目的时候,常常会遇到ScrollView嵌套ListView(或GirdView)的问题,然而嵌套在 ScrollView的 ListVew(或GirdView)会数据显示不全,那么我们有什么好的方法来解决这个问题呢?
下面给大家带来的一个解决方法是本人自己用的,感觉特别简洁,好用。
话不多说,上菜!
自定义一个ListView
/** *默认显示的首项是ListView,需要手动把ScrollView滚动至最顶端。 *举例如下: *mScrollView = (ScrollView) findViewById(R.id.mScrollView); *mScrollView.smoothScrollTo(0, 0); *@author 树根 * */public class ListViewForScrollView extends ListView {public ListViewForScrollView(Context context) {super(context);}public ListViewForScrollView(Context context, AttributeSet attrs) {super(context, attrs);}public ListViewForScrollView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);}@Override/** * 重写该方法,达到使ListView适应ScrollView的效果 */protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);super.onMeasure(widthMeasureSpec, expandSpec);}}
然后在你的布局文件里把需要嵌套在ScrollView的ListView都用这个自定义的ListView就可以了。
注意:打开嵌套ListVew的 ScrollView的页面布局 默认 起始位置不是最顶部
解决方法一:在代码里加这句就ok了
mScrollView.smoothScrollTo(0, 0);
gridview.setFocusable(false);
listview.setFocusable(false);
注意:在xml布局里面设置android:focusable=“false”不生效
(更新:有朋友说这种方法不太好用,所以还是建议大家用第一种吧,我一直都是用第一种,嘿嘿)
注意:在xml布局里面设置android:focusable=“false”不生效
(更新:有朋友说这种方法不太好用,所以还是建议大家用第一种吧,我一直都是用第一种,嘿嘿)
是不是灰常简单嘞?so easy! 妈妈再也不用担心我的学习了
当然网上还有其他解决方法,大家有兴趣的可以看看,不过相对于其他方法,这个方法真的是简洁,实用!简洁,实用!简洁,实用!
2 0
- ScrollView嵌套ListView冲突的最简洁解决方案
- ScrollView 嵌套 listView、gridView 冲突的解决方案
- ScrollView嵌套ListView冲突问题的解决方案
- ScrollView嵌套ListView冲突问题的解决方案
- ScrollView嵌套ListView滑动冲突的解决方案
- ScrollView嵌套ListView滚动冲突的解决方案
- ScrollView嵌套ListView冲突问题的最优解决方案
- ScrollView嵌套ListView冲突问题的最优解决方案
- ScrollView嵌套ListView冲突问题的最优解决方案
- ScrollView嵌套ListView冲突问题的最优解决方案
- ScrollView嵌套ListView和Gridview冲突问题的最优解决方案
- ScrollView嵌套ListView冲突问题的最优解决方案
- ScrollView嵌套ListView冲突问题的最优解决方案
- ScrollView嵌套ListView冲突问题的最优解决方案
- ScrollView中嵌套ListView滚动冲突的两种解决方案
- ScrollView嵌套ListView冲突问题的最优解决方案
- ScrollView嵌套ListView冲突问题的最优解决方案
- ScrollView嵌套ListView默认位置不是最顶部的解决方案
- 如何修改Chrome默认字体
- PHP json_decode 对 JSON 格式的字符串进行编码并获取对应的值
- Mysql大数据中表分区的应用
- 解决Apache 服务器不支持FLV视频播放的办法
- KRKR简单使用实例开发
- ScrollView嵌套ListView冲突的最简洁解决方案
- PHP运行环境之IIS FastCGI 进程意外退出解决办法
- 初试jni
- SQL查询月份有多少天(根据变量)
- 关于微信公众平台表情代码的记录
- LeetCode Next Permutation
- 收集的伪静态中经常使用的一些参数解释,如[NC,L,QSA]等
- PHP通过计算经纬度获取附近的数据信息
- 在Windows下搭建Gitlab服务器(二)-不能访问Gitlab的web管理页面