2016-04-28 20 views
0

我试图让这个onScrollListener适用于API版本低于23,当我尝试这样做,我得到我在标题中提到的错误设置onScrollChangeListener时:java.lang.NoClassDefFoundError上recyclerview

这里我发现了一个错误:

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { 
     list.addOnScrollListener(new RecyclerView.OnScrollListener() { 
      @Override 
      public void onScrolled(RecyclerView recyclerView, int dx, int dy) { 
       super.onScrolled(recyclerView, dx, dy); 
        //If scrolled at last then 
       if (isLastItemDisplaying(recyclerView)) { 
        // Calling the method get data again 
        getData(); 
       } 
      } 
     }); 
    } else { 
     // here i'm getting an error 
     list.setOnScrollChangeListener(new RecyclerView.OnScrollChangeListener() { 
      @Override 
      public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { 
        // If scrolled at last then 
       if (isLastItemDisplaying(list)) { 
        // Calling the method get data again 
        getData(); 
       } 
      } 
     }); 
    } 

我能multidex支持和编译'com.android.support:multidex:1.0.1'但仍然我得到一个错误。我也有类扩展这样的应用程序初始化MultiDex:

@Override 
protected void attachBaseContext(Context base) { 
    super.attachBaseContext(base); 
    MultiDex.install(this); 
} 

编辑:

                    Process: com.dusandimitrijevic.pdssolution, PID: 13882 
                       java.lang.NoClassDefFoundError: com.dusandimitrijevic.pdssolution.fragments.JokesFragment$1                     at com.dusandimitrijevic.pdssolution.fragments.JokesFragment.onCreateView(JokesFragment.java:99) 
                        at android.support.v4.app.Fragment.performCreateView(Fragment.java:1974) 
                        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) 
                        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1252) 
                        at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:742) 
                        at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1617) 
                        at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:570) 
                        at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) 
                        at android.support.v4.view.ViewPager.populate(ViewPager.java:1177) 
                        at android.support.v4.view.ViewPager.populate(ViewPager.java:1025) 
                        at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1545) 
                        at android.view.View.measure(View.java:18596) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827) 
                        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435) 
                        at android.widget.LinearLayout.measureVertical(LinearLayout.java:721) 
                        at android.widget.LinearLayout.onMeasure(LinearLayout.java:612) 
                        at android.view.View.measure(View.java:18596) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827) 
                        at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) 
                        at android.view.View.measure(View.java:18596) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827) 
                        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435) 
                        at android.widget.LinearLayout.measureVertical(LinearLayout.java:721) 
                        at android.widget.LinearLayout.onMeasure(LinearLayout.java:612) 
                        at android.view.View.measure(View.java:18596) 
                        at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:1075) 
                        at android.view.View.measure(View.java:18596) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827) 
                        at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) 
                        at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135) 
                        at android.view.View.measure(View.java:18596) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827) 
                        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435) 
                        at android.widget.LinearLayout.measureVertical(LinearLayout.java:721) 
                        at android.widget.LinearLayout.onMeasure(LinearLayout.java:612) 
                        at android.view.View.measure(View.java:18596) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827) 
                        at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) 
                        at android.view.View.measure(View.java:18596) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827) 
                        at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435) 
                        at android.widget.LinearLayout.measureVertical(LinearLayout.java:721) 
                        at android.widget.LinearLayout.onMeasure(LinearLayout.java:612) 
                        at android.view.View.measure(View.java:18596) 
                        at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827) 
                        at android.widget.FrameLayout.onMeasure(FrameLayout.java:430) 
                        at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2897) 
                        at android.view.View.measure(View.java:18596) 
                        at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2248) 
                        at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1306) 
                        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1548) 
                        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1191) 
                        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6642) 
                        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777) 
                        at android.view.Choreographer.doCallbacks(Choreographer.java:590) 
                        at android.view.Choreographer.doFrame(Choreographer.java:560) 
                       a 
+0

邮政logcat的请 –

+0

检查我的编辑问题 –

回答

0

RecyclerViewcom.android.support:recyclerview-v7库的一部分。你添加的依赖?

compile 'com.android.support:recyclerview-v7:21.0.+' 
+0

当然。我已经通过整个应用程序使用RecyclerView,然后当我试图设置这个,我得到了这个错误。 –

0

View.OnScrollChangeListener API等级加23 一个解决办法是使用

mRecycleView.getViewTreeObserver().addOnScrollChangedListener(listenerInstance); 

以上回调监听,如果你想获得X,Y值不会有太大帮助的。