2016-09-02 2 views
8

я получаю аварии (от Crashlytics, не в состоянии воспроизвести локально) в моем приложении из функции onLayout в CoordinatorLayout:CoordinatorLayout сбой приложения с 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) 

Так как я не был в состоянии воспроизвести это я и имею 6 действий с CoordinatorLayouts, как я могу отлаживать это?

Edit: похоже, что это будет исправлено в next support library release

+0

не имеет отношения к CoordinatorLayouts. это ArrayList outOfBoundException. – Amir

+0

@Amir да, но координаторLayout - это то, что вызывает исключение –

+1

. Я также сталкиваюсь с тем же вопросом. – DroidBoy

ответ

6

У меня была аналогичная проблема, и понижая к старой версии библиотеки Поддержка Android (v24.1.1) работал для меня. Кажется, что это проблема в библиотеке, вы можете проверить проблему с Android Tracker here.

UPDATE 1: Похоже, это будет решаться в dé следующей версии библиотеки Android поддержки (v24.2.1), благодаря Daniel Rampelt для обновления

UPDATE 2: 24.2.1 вне на сегодняшний день, и ошибка, кажется, решена - по крайней мере, я не мог воспроизвести ее с текущей версией. - PattaFeuFeu

UPDATE 3: 24.2.1 представил новую ошибку: post - AAverin

+0

Спасибо за ссылку! – fobbymaster

+0

Спасибо, похоже, он также исправлен и для следующего выпуска. –

+0

24.2.1 отсутствует на сегодня, и ошибка, кажется, решена - по крайней мере, я не смог воспроизвести ее с текущей версией. – PattaFeuFeu

0

Даже я была такая же проблема

моего вопроса был из показывая закусочной я прилагаемая показывая закусочную код с попыткой уловить сейчас его workng штраф

/** 
* 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(); 
    } 
} 
Смежные вопросы