在ScrollView中嵌套ListView的导致ListView只显示一两行
2016-06-14 15:36
253 查看
如题,在项目中嵌套使用导致ListView显示不全。这是由于这两个控件都是滑动组件,所以可能导致高度没办法绘制,所以解决办法为:直接自己定义一个ListView.
public class MyListView extends ListView {
public MyListView(Context context) {
super(context);
}
public MyListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
然后布局文件中使用自定义的这个。但还有一个问题就是这样定义,可能默认进来一显示的就是ListView 。所以我们得设置ScrollView的一个属性smoothScrollTo(0,0);此问题解决~~~~
public class MyListView extends ListView {
public MyListView(Context context) {
super(context);
}
public MyListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
然后布局文件中使用自定义的这个。但还有一个问题就是这样定义,可能默认进来一显示的就是ListView 。所以我们得设置ScrollView的一个属性smoothScrollTo(0,0);此问题解决~~~~
相关文章推荐
- MEF实例
- php缓存技术
- mybatis增删改操作无法返回操作数量的问题
- 网站架构经验随笔
- 《软件工程》课程总结
- Icident event 分析
- httpClient 工具类
- javaScript动态创建数组、动态赋值json数据方法之一(持续补充)
- JS对cookie的读取、修改、删除
- margin父元素与子元素margin合并问题
- 网络HTTP、TCP、UDP、Socket 知识总结
- Linux下升级gcc的方法-简明扼要
- 生产环境提升ssh安全的10种方式!
- 标日初上-第8課
- DOM编程艺术(样式操作)
- 如何阅读别人的程序
- js中属性和方法的类型和区别
- Chapter 5. 事务、触发器、存储过程
- (转)MongoDB numa系列问题三:overcommit_memory和zone_reclaim_mode
- 安卓悬浮窗的写法