如题,在项目中嵌套使用导致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);此问题解决~~~~
本文介绍了解决Android项目中嵌套使用ListView导致显示不全的问题。通过自定义ListView并覆盖onMeasure方法来确保其可以正确测量尺寸,从而完整显示所有项。同时介绍了如何通过设置ScrollView的smoothScrollTo(0,0)属性来改善用户体验。
983

被折叠的 条评论
为什么被折叠?



