PagerAdapter 里面找不到 DataSetObserver

最近做一个关于垂直滑动的ViewPager,在开源库中找到一个项目,发现引用了android的v4支持包,但是,那里面没有他所说的那个类,请问该怎么解决,拷贝supportv4view包到工程中,再重写PagerAdapter吗?

恩,但是可能样式不对,你拷进去要重新编译supportv4

新版本support-v4的PagerAdapter里面没有DataSetObserver,而是使用android.database.DataSetObserver,所以在使用竖直滑动的VerticalViewPager时需要修改VerticalViewPager及VerticalViewPagerCompat部分代码。
一、VerticalViewPagerCompat:
package android.support.v4.view;

public final class VerticalViewPagerCompat {
    private VerticalViewPagerCompat() {
    }

    public static void setDataSetObserver(PagerAdapter adapter, DataSetObserver observer) {
        adapter.registerDataSetObserver(observer);
    }

    public static class DataSetObserver extends android.database.DataSetObserver {
    }
} 
二、VerticalViewPager:
 private class DataSetObserver extends VerticalViewPagerCompat.DataSetObserver {

        @Override
        public void onChanged() {
            dataSetChanged();
        }

        @Override
        public void onInvalidated() {
        }
    }

2楼方法可行,已亲身验证。使用高版本的v4包时,用此方法可以解决。已赞!

我也到类似的问题,发现个github开源工程中的自定义XxxViewPage视图的代码拿过来后,提示“类型 PagerAdapter 中的方法 unregisterDataSetObserver(DataSetObserver);registerDataSetObserver(DataSetObserver)不可视”;后来直接将对方工程的V4.jar包替换我工程里的V4.jar包就好鄂~~~