2013-07-18 10 views
0

Я хотел бы, чтобы проверить мое приложение с инструментом тестирования обезьяны, но только не встает до 700 событий, чем она падает с некоторым смутным журнальным сообщением:Android обезьяны сбой на holoeverywhere

07-18 13:56:44.600: E/AndroidRuntime(27622): FATAL EXCEPTION: main 
07-18 13:56:44.600: E/AndroidRuntime(27622): java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. [in ListView(2131165444, class org.holoeverywhere.widget.ListView) with Adapter(class org.holoeverywhere.widget.HeaderViewListAdapter)] 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.widget.ListView.layoutChildren(ListView.java:1544) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.widget.AbsListView.onTouchModeChanged(AbsListView.java:3213) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.view.ViewTreeObserver.dispatchOnTouchModeChanged(ViewTreeObserver.java:712) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.view.ViewRootImpl.ensureTouchModeLocally(ViewRootImpl.java:3074) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.view.ViewRootImpl.ensureTouchMode(ViewRootImpl.java:3058) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3202) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:3165) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:4292) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:4344) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:4382) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.view.Choreographer.doCallbacks(Choreographer.java:562) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.view.Choreographer.doFrame(Choreographer.java:530) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.os.Handler.handleCallback(Handler.java:725) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.os.Handler.dispatchMessage(Handler.java:92) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.os.Looper.loop(Looper.java:137) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at android.app.ActivityThread.main(ActivityThread.java:5041) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at java.lang.reflect.Method.invokeNative(Native Method) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at java.lang.reflect.Method.invoke(Method.java:511) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
07-18 13:56:44.600: E/AndroidRuntime(27622): at dalvik.system.NativeStart.main(Native Method) 

Это как Я начинаю инструмент обезьяны:

adb shell monkey -p app.package -v 300000 

Любые идеи, как преодолеть эту ошибку?

+0

, если вы можете показать нам свой код, в котором вы установили свой адаптер, было бы полезно знать, где вы ошибаетесь. – BBdev

+0

in onCreateView (я использую 1 фрагментацию и множество фрагментов) I настройте адаптер, добавьте footerview в listview, чем установите адаптер в listview, чем запустите асинтез для загрузки элементов, а в onProgressUpdate я добавлю элементы в адаптер. – Tamas

+0

также, похоже, происходит со списками, которые имеют представления в элементах listview, которые можно кликать (например: у них есть 2 столбца элементов, также: listView.setItemsCanFocus (true)) – Tamas

ответ

0

Appranetly У меня было несколько AsyncTasks, которые могли быть запущены после того, как фрагмент умер, и бросил эти расплывчатые журналы. Единственной полезной частью журнала было «... ListView (2131165444 ...», поэтому я проверил gen/package/R.java, чтобы узнать, что это за идентификатор макета, и оказалось, что это список, который неисправная асинктаска, работающая над элементами списка.