1、viewpager内的view页如果有listview,
则该listview的height属性一定设置match_parent或fill_parent,
否则viewpager切换时会很卡。
2、如果需要替换viewpager内的view,而view的数量不变,
3、如果被替换掉的view页又要重新加入到viewpager,
则在adapter的instantiateItem方法内,该view的parent需要清除该view:
则该listview的height属性一定设置match_parent或fill_parent,
否则viewpager切换时会很卡。
2、如果需要替换viewpager内的view,而view的数量不变,
这时需要在viewpager的adapter重写getItemPosition方法为这样:
@Override
public int getItemPosition(Object object) {
// TODO Auto-generated method stub
return POSITION_NONE;
}
否则viewpager不会刷新已替换的新view页。
3、如果被替换掉的view页又要重新加入到viewpager,
则在adapter的instantiateItem方法内,该view的parent需要清除该view:
@Override
public Object instantiateItem(View v, int position) {
// TODO Auto-generated method stub
ViewGroup parent = (ViewGroup) views[position].getParent();
if (parent != null) {
parent.removeAllViewsInLayout();
}
((ViewPager) v).addView(views[position]);
return views[position];
}
否则会报错,说该view已在一个parent内,无法加入viewpager。