【问题标题】:setDataObserver and newest support librarysetDataObserver 和最新的支持库
【发布时间】:2013-05-11 00:09:43
【问题描述】:

我的应用程序使用具有自己的 support-library-v4.jar 的 DirectionalViewPager 库,但是当我使用此版本时,当我按下主页按钮时,它会导致强制关闭。我发现我应该更改为最新版本的支持库,但是 DirectionalViewPager 无法导入:PagerAdapter.DataSetObserver

我该如何解决这个问题?

感谢您的帮助。

【问题讨论】:

    标签: android


    【解决方案1】:

    看起来范围可能已更改,导致 DVP 库无法工作。有关更多详细信息和解决方法,请参阅 herehere

    将以下类添加到您的项目中(确保包正确,否则这将不起作用):

    package android.support.v4.view;
    
        public final class PagerAdapterPublicCompat {
            private PagerAdapterPublicCompat() {}
    
            public interface DataSetObserver extends PagerAdapter.DataSetObserver {}
    
            public static void setDataSetObserver(PagerAdapter adapter, DataSetObserver observer) {
                adapter.setDataSetObserver(observer);
            }
        }
    

    那么你必须设置你的数据观察者:

    // from the sample code:
    final DirectionalViewPager pager = (DirectionalViewPager)findViewById(R.id.pager);
    pager.setAdapter(new TestFragmentAdapter(getSupportFragmentManager()));
    // new addition:
    PagerAdapterPublicCompat.setDataSetObserver(pager.getAdapter(), YourDataSetObserver);
    

    【讨论】:

    • 当我使用第二个链接应用程序中的 .jar 时不起作用。而且我不知道我能从第一个修复应用程序中得到什么。
    • 您使用的是哪个版本的 DVP 库?
    • 这是 1.2.1,可能是最新的
    • 你的班级PagerAdapterPublicCompat 等于VerticalViewPagerCompat,目前在图书馆里,YourDataSetObserver 是什么?我不使用任何 DataSetObserver。
    • 啊。我误解了。我以为你在努力却做不到。我认为他们将 DataSetObserver 移至 android.database.DataSetObserver developer.android.com/reference/android/database/….
    猜你喜欢
    • 1970-01-01
    • 2018-03-09
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多