我正在使用PagerSlidingTabStrip在Android版面中添加ViewPager
个标签。
我的ViewPager
自定义适配器如下:
private static class SlidingPagerAdapter extends PagerAdapter implements IconTabProvider {
private final List<Tab> mItems;
private final LayoutInflater mInflator;
public SlidingPagerAdapter(Context context, List<Tab> tabs) {
mItems = tabs;
mInflator = LayoutInflater.from(context);
}
@Override
public int getCount() {
return mItems.size();
}
@Override
public boolean isViewFromObject(View v, Object obj) {
return v == (View) obj;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
Tab data = mItems.get(position);
View child = mInflator.inflate(data.mLayoutResource, container, false);
container.addView((View) child, 0);
return child;
}
@Override
public int getPageIconResId(int position) {
return mItems.get(position).mIconResource;
}
}
当我将PageTransformer
设置为ViewPager
时,会出现问题。作为测试,我使用了Android文档中提供的ZoomOutPageTransformer。
首次加载ViewPager中的子视图时,一切正常。我可以点击项目并更新视图。但是在我第一次滚动浏览ViewPager之后,子视图就会停止正确渲染。如果我点击一个项目,我可以感受到触觉反馈和点击声音,但视图仍处于其先前状态。
每次ViewPager发生更改时,我都尝试使View无效,但这没有帮助。
有similar problems when using a ListView inside a ViewPager,所以我尝试将视图中的视图设置为GONE,但这也没有用。
答案 0 :(得分:0)
我有一个类似的问题,我可以通过关注这个问题的答案来修复它:apply PageTransformer to PagerView as soon as possible除了我在fakeDragBy()中使用.0001f
Hacky,但它奏效了。