30
RecyclerView:检测到不一致。无效的商品位置
我们的质量检查已检测到一个错误:旋转Android设备(Droid Turbo)时,发生了以下与RecyclerView相关的崩溃: java.lang.IndexOutOfBoundsException:检测到不一致。无效的商品位置2(偏移量:2)。状态:3 对我来说,这看起来像是RecyclerView内部的错误,因为我想不出这是由我们的代码直接引起的。 有没有人遇到这个问题? 解决办法是什么? 一个残酷的解决方法可能是在发生异常时捕获异常,然后从头开始重新创建RecyclverView实例,以避免陷入损坏状态。 但是,如果可能的话,我想更好地理解问题(也许从源头上解决它),而不是掩盖它。 该错误不容易重现,但是一旦发生就致命。 完整的堆栈跟踪: W/dalvikvm( 7546): threadid=1: thread exiting with uncaught exception (group=0x41987d40) E/AndroidRuntime( 7546): FATAL EXCEPTION: main E/AndroidRuntime( 7546): Process: com.oblong.mezzedroid, PID: 7546 E/AndroidRuntime( 7546): java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 2(offset:2).state:3 E/AndroidRuntime( 7546): at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:3382) E/AndroidRuntime( 7546): at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:3340) E/AndroidRuntime( 7546): at …