Viewpager fragment 显示空白 刷新空白 解决
1.检查是否设置了 预加载 (
Viewpager .setOffscreenPageLimit(lazyBaseFragments.size());
)
2.Viewpager使用下边这个
public class MyViewpager extends ViewPager {
public MyViewpager(Context context) {
super(context);
}
public MyViewpager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int viewHeight = 0;
View childView = getChildAt(getCurrentItem());
if (childView != null) {
childView.measure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
viewHeight = childView.getMeasuredHeight();
heightMeasureSpec = MeasureSpec.makeMeasureSpec(viewHeight, MeasureSpec.EXACTLY);
}
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
}
3.vpList.addOnPageChangeListener的下边这个方法里 重新测量高度
@Override public void onPageSelected(int position) { View view = vpList.getChildAt(position); int height = view.getMeasuredHeight(); LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) vpList.getLayoutParams(); layoutParams.height = height; vpList.setLayoutParams(layoutParams); }