我在发布前报告中收到此错误,但它没有显示对我的 .java 文件的任何引用。任何人都可以对此有所了解吗?
我正在使用ViewPager2
带有页面转换的 (1.0.0)。
Issue: java.lang.IllegalStateException: Page can only be offset by a positive amount, not by -54
FATAL EXCEPTION: main
Process: [redacted], PID: 18424
java.lang.IllegalStateException: Page can only be offset by a positive amount, not by -54
at androidx.viewpager2.widget.ScrollEventAdapter.updateScrollEventValues(ScrollEventAdapter.java:280)
at androidx.viewpager2.widget.ScrollEventAdapter.onScrolled(ScrollEventAdapter.java:178)
at androidx.recyclerview.widget.RecyclerView.dispatchOnScrolled(RecyclerView.java:5173)
at androidx.recyclerview.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:5338)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858)
at android.view.Choreographer.doCallbacks(Choreographer.java:670)
at android.view.Choreographer.doFrame(Choreographer.java:603)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844)
at android.os.Handler.handleCallback(Handler.java:746)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5459)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
我发现这个关于 ViewPager2的页面参考了一个类似的错误,即 ViewPager2 的错误。
可能相关:
我最近才开始收到此错误。我最近以下列方式更改了我的代码。我正在覆盖该getItemCount()
方法,NUM_PAGES
它返回的值取决于其他地方的可选选项。以前,当切换此选项时,我只会recreate()
让 Activity 持有所有片段。相反,现在我打电话Objects.requireNonNull(recyclerViewAdapter).notifyDataSetChanged();
,效果很好。我不确定这是否是添加/删除或显示/隐藏最右侧片段的正确方法,因为其他选项会在片段通常所在的位置留下一个空白页面。
编辑:我PageTransformer
从ViewPager2
- 只设置了 alpha 中删除了我的 - 并且错误目前已经消失。但我认为这可能是巧合。我没有在“野外”看到错误,只是间歇性地在发布前报告中看到。
编辑:我的片段中没有带有布局动画的 ViewGroups: