在ScrollView嵌套ListView时,会导致冲突,因为ListView本身都继承于ScrollView。一旦在ScrollView中嵌套ListView,那么里面的ScrollView高度计算就会出现问题,废话少说直接给解决方法。(这应该是最简单的方法)
核心解决方案: 自定义listview,重写ListVie的OnMesure 方法。对GridView同样适用。
/**
* 重写该方法,达到使ListView适应ScrollView的效果,listview的滑动效果失效
*/
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
还要记得在Activity中加入以下代码
commentListview = (XListView) findViewById(R.id.comment_listview);
scroll= (ScrollView) findViewById(R.id.scroll);//加上这2段代码之后就可以达到想要的的效果,不然listview就会顶置
scroll.smoothScrollTo(0,0);
好了,各位留个言、点个赞算是对我的支持,多谢大家~