2016-09-02 19 views
8

tôi nhận được một vụ tai nạn (từ Crashlytics, không có khả năng sinh sản ở địa phương) trong ứng dụng của tôi từ onLayout chức năng trong CoordinatorLayout:CoordinatorLayout treo ứng dụng với IndexOutOfBoundsException

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) 

Kể từ khi tôi đã không thể tái tạo điều này bản thân mình và có 6 hoạt động với CoordinatorLayouts, làm thế nào tôi có thể đi về gỡ lỗi này?

Sửa: có vẻ như nó sẽ được cố định trong next support library release

+0

nó không liên quan đến CoordinatorLayouts. nó là ArrayList outOfBoundException. – Amir

+0

@Amir có nhưng CoordinatorLayout là những gì gây ra ngoại lệ xảy ra –

+1

Tôi cũng phải đối mặt với cùng một vấn đề – DroidBoy

Trả lời

6

Tôi đã có một vấn đề tương tự, và hạ đến một già Thư viện hỗ trợ Android phiên bản (v24.1.1) làm việc cho tôi. Có vẻ như có vấn đề trong Thư viện, bạn có thể kiểm tra sự cố trên Trình theo dõi sự cố Android here.

UPDATE 1: Có vẻ như nó sẽ được giải quyết trong de phiên bản tiếp theo của Thư viện hỗ trợ Android (v24.2.1), nhờ Daniel Rampelt cho bản cập nhật

UPDATE 2: 24.2.1 là ra tính đến hôm nay và lỗi dường như đã được giải quyết - ít nhất tôi có thể tái tạo nó với phiên bản hiện tại. - PattaFeuFeu

CẬP NHẬT 3: 24.2.1 giới thiệu lỗi mới: post - AAverin

+0

Cảm ơn bạn đã liên kết! – fobbymaster

+0

Cảm ơn, có vẻ như nó cũng được sửa cho bản phát hành tiếp theo. –

+0

24.2.1 là hết ngày hôm nay và lỗi dường như đã được giải quyết - ít nhất tôi có thể tái sản xuất nó với phiên bản hiện tại. – PattaFeuFeu

0

Thậm chí tôi đã có cùng một vấn đề

vấn đề của tôi là vì hiển thị snackbar i kèm theo trình bày mã snackbar với thử bắt ngay công việc của nó tốt

/** 
* try catch becuase of SupportLibrary bug link "https://code.google.com/p/android/issues/detail?id=220762" 
* 
* @param v 
*/ 
public void showConnectionErr(View v) { 
    try { 
     Snackbar b = getFailureSnackBar(v, "Bluetooth connection lost", false); 
     b.setAction("RETRY", new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       new ConnectThread().execute(); 
      } 
     }); 
     b.show(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
Các vấn đề liên quan