2

我正在使用PagerSlidingTabStripViewPagerAndroid 布局中使用选项卡。

我的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;
    }

}

当我将 a 设置PageTransformerViewPager. 作为测试,我使用了 Android 文档中提供的ZoomOutPageTransformer 。

首次加载 ViewPager 中的子视图时,一切正常。我可以单击项目并更新视图。但是在我第一次滚动 ViewPager 之后,子视图就会停止正确渲染。如果我点击一个项目,我可以感觉到触觉反馈和点击声音,但视图仍保持之前的状态。

每次 ViewPager 发生更改时,我都尝试使 View 无效,但这没有帮助。

在 ViewPager 中使用 ListView 时也会出现类似的问题,因此我尝试将视图之外的视图设置为 GONE,但这也不起作用。

4

1 回答 1

0

我有一个类似的问题,我可以通过遵循这个 SO 问题的答案来解决它:尽快将 PageTransformer应用于 PagerView 除了我在 fakeDragBy() 中使用了 .0001f

哈基,但它奏效了。

于 2015-04-07T23:17:16.247 回答