2

私はPagerSlidingTabStripを使用してViewPager、Android レイアウトにタブを配置しています。

私の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 を無効にしようとしましたが、これは役に立ちませんでした。

ViewPager 内で ListView を使用する場合にも同様の問題があるため、ビューの外にあるビューを GONE として設定しようとしましたが、これも機能しませんでした。

4

1 に答える 1

0

私は同様の問題を抱えていましたが、この SO の質問に対する回答に従って修正することができまし

ハッキーですが、うまくいきました。

于 2015-04-07T23:17:16.247 に答える