2015-02-03 3 views
-1

я получаю этот журнал сбоев для моего приложения:Android обнаружения аварии

java.lang.IllegalStateException 
android.widget.ListView.layoutChildren(ListView.java:1544) 
android.widget.AbsListView.onTouchModeChanged(AbsListView.java:3543) 
android.view.ViewTreeObserver.dispatchOnTouchModeChanged(ViewTreeObserver.java:732) 
android.view.ViewRootImpl.ensureTouchModeLocally(ViewRootImpl.java:3170) 
android.view.ViewRootImpl.ensureTouchMode(ViewRootImpl.java:3154) 
android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3397) 
android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3347) 
android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4456) 
android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:4434) 
android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:4538) 
android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:171) 
android.os.MessageQueue.nativePollOnce(Native Method) 
android.os.MessageQueue.next(MessageQueue.java:125) 
android.os.Looper.loop(Looper.java:124) 
android.app.ActivityThread.main(ActivityThread.java:4921) 
java.lang.reflect.Method.invokeNative(Native Method) 
java.lang.reflect.Method.invoke(Method.java:511) 
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027) 
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794) 
dalvik.system.NativeStart.main(Native Method) 

Но я не могу видеть в этой линии ничего, указывающие на мой код. любая идея, как я могу обнаружить крах?

+0

Пожалуйста, добавьте еще код. – JacksOnF1re

+0

Что вы пытаетесь сделать? –

ответ

3

Способ получения IllegalStateException в ListView.layoutChildren() состоит в том, чтобы сделать количество элементов адаптера отличным от ожидаемого списка.

Это может произойти, если вы изменили данные в своем адаптере listview, но забыли позвонить notifyDataSetChanged() или изменить данные в фоновом потоке.

0

Если вы когда-либо получаете сбой, вы не можете обнаружить, просто используйте adb debbuging. Поместите контрольные точки в код и запустите приложение в отладке.

ударил точки останова и пройдите через программу, пока она не сработает. как только вы попадаете в крушение, вы знаете точную строку кода, которая ломается! Предполагая, что вы используете Android-приложение shift + f9 для работы в отладке.

Смежные вопросы