当前位置: 首页 > 面试题库 >

CoordinatorLayout使用IndexOutOfBoundsException使应用程序崩溃

吕博耘
2023-03-14
问题内容

我的应用程序中的onLayout函数出现崩溃(来自Crashlytics,无法在本地重现)CoordinatorLayout

Fatal Exception: java.lang.IndexOutOfBoundsException: Invalid index 3, size is 3
   at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
   at java.util.ArrayList.get(ArrayList.java:308)
   at android.support.design.widget.CoordinatorLayout.onLayout(SourceFile:848)
   at android.view.View.layout(View.java:15237)
   at android.view.ViewGroup.layout(ViewGroup.java:4864)
   at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515)
   at android.widget.FrameLayout.onLayout(FrameLayout.java:450)
   at android.view.View.layout(View.java:15237)
   at android.view.ViewGroup.layout(ViewGroup.java:4864)
   at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1888)
   at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1742)
   at android.widget.LinearLayout.onLayout(LinearLayout.java:1651)
   at android.view.View.layout(View.java:15237)
   at android.view.ViewGroup.layout(ViewGroup.java:4864)
   at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515)
   at android.widget.FrameLayout.onLayout(FrameLayout.java:450)
   at android.view.View.layout(View.java:15237)
   at android.view.ViewGroup.layout(ViewGroup.java:4864)
   at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1888)
   at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1742)
   at android.widget.LinearLayout.onLayout(LinearLayout.java:1651)
   at android.view.View.layout(View.java:15237)
   at android.view.ViewGroup.layout(ViewGroup.java:4864)
   at android.widget.FrameLayout.layoutChildren(FrameLayout.java:515)
   at android.widget.FrameLayout.onLayout(FrameLayout.java:450)
   at android.view.View.layout(View.java:15237)
   at android.view.ViewGroup.layout(ViewGroup.java:4864)
   at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2323)
   at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2029)
   at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1192)
   at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6231)
   at android.view.Choreographer$CallbackRecord.run(Choreographer.java:816)
   at android.view.Choreographer.doCallbacks(Choreographer.java:619)
   at android.view.Choreographer.doFrame(Choreographer.java:588)
   at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:802)
   at android.os.Handler.handleCallback(Handler.java:808)
   at android.os.Handler.dispatchMessage(Handler.java:103)
   at android.os.Looper.loop(Looper.java:193)
   at android.app.ActivityThread.main(ActivityThread.java:5388)
   at java.lang.reflect.Method.invokeNative(Method.java)
   at java.lang.reflect.Method.invoke(Method.java:515)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:655)
   at dalvik.system.NativeStart.main(NativeStart.java)

由于我自己无法重现此错误,并且无法使用CoordinatorLayouts进行6个活动,因此如何进行调试?

编辑
:看起来它将在下一个支持库版本中修复


问题答案:

我遇到了类似的问题,因此降级到较旧的Android支持库版本(v24.1.1)对我来说很有用。库中似乎有问题,您可以在此处查看
Android Issue
Tracker中的问题。

更新1 :似乎它将在下一版本的Android支持库(v24.2.1)中解决,感谢Daniel
Rampelt的更新

更新2 :24.2.1截至今天为止,该错误似乎已解决-至少我无法在当前版本中重现该错误。– PattaFeuFeu



 类似资料:
  • 我正在尝试将图像添加到我新创建的应用程序中。但是,当我运行我的应用程序时,它会崩溃。我没有在我的应用程序中编写任何代码,因此我提供了XML代码和错误日志。我在以前的应用程序中使用了ImageViews。没有错误。我已经优化了我的图像,但它仍然给我错误。 图像详细信息 错误日志: 09-08 16:03:02.266 15137-15137/ooper.loopE/AndroidRuntime: F

  • 当我运行应用程序并转到用户的活动时,应用程序崩溃,显示mUsersList。setHasFixedSize(真);正在使应用程序崩溃。 这是消息“由以下原因引起:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'void androidx.recyclerview.widget.recyclerview.setHasFixedSize(布尔)'”

  • 问题内容: 仅供参考:我是Swift的新手,所以这可能是一个非常简单的问题,但我 无法弄清楚。 我一直在关注 使用Xcode 8 beta和Swift 3 的《开始开发iOS应用程序 (Swift) 教程》。 我将Tap Gesture Recognizer附加到了Image View,然后 在ViewController.swift中添加了此操作: 在图像 视图上轻按以调用selectImage

  • 这就是它崩溃的地方 01-12 13:44:12.571 296 26-29688/ca.dti.grounded.app E/OtherService:AsynchChecker 287:73 java.lang.IllegalStateException:Parcel已完成!在android.os.binderproxy.transactNative(本机方法)在android.os.bind

  • 在我的Android应用程序中,我必须在我的选项卡活动的第一个片段中显示大约43个ImageButton,在另一个片段中显示其他不同的43个。第一个很好用,当我添加第二个片段时,应用程序崩溃了。不仅如此,如果我点击我的ImageButton之一,如果我想显示一个在应用崩溃之前从未使用过的特定图像。 我的可绘制文件夹中的图像是1MB(159个图像),所以我不知道它是否太多。

  • 我尝试从firebase获取字符串到ListView,但当我添加行时 应用程序崩溃了,然后就停止了。我确信ListView是正确的。xml(activity\u periferies\u list.xml)。我在另一个活动中使用了相同的代码,并且可以正常工作,但现在我创建的任何新活动中都没有使用相同的代码。 。