我的listview里放的自定义view,高度会根据内容发生变化,在onmeasure里设置。
程序在一个android4.4的手机上正常,每次getview之后都会调用子view的onmeasure。
但是在一个6.0.1的手机上,getview之后就不再调用onmeasure了,
导致重用view的时候,大小不对。
该怎么解决啊?
在getview里面自己调measure,在4.4的手机上会重复调用,影响性能的吧。
listview复用view是系统自己的操作吧,你是不是布局写死了
给你一个看到的博客http://blog.sina.com.cn/s/blog_67b183770100xm9r.html和你的问题相似
listview是在setupChild里面调用getview的,里面通过needtomeasure判断是否调measure。
final boolean isSelected = selected && shouldShowSelector();
final boolean updateChildSelected = isSelected != child.isSelected();
final int mode = mTouchMode;
final boolean isPressed = mode > TOUCH_MODE_DOWN && mode < TOUCH_MODE_SCROLL &&
mMotionPosition == position;
final boolean updateChildPressed = isPressed != child.isPressed();
final boolean needToMeasure = !recycled || updateChildSelected || child.isLayoutRequested();
4.4和6.0的系统 isLayoutRequest()的结果不一样