Ho creato un'app in cui l'utente deve selezionare un numero intero da Spinner
. Sto popolando il Spinner
utilizzando Adapter
. Il codice è come questo.App in crash durante la selezione/lo scorrimento degli oggetti su Spinner. (LG Mobile) (java.lang.IllegalStateException: Iterazione già avviata)
Integer[] intArray = new Integer[500];
for (int i = 0; i < 500; i++)
intArray[i] = i + 1;
ArrayAdapter<Integer> adapter = new ArrayAdapter<Integer>(this, android.R.layout.simple_spinner_dropdown_item, intArray);
spinner.setAdapter(adapter);
L'applicazione è scritta per API-21
. Ha funzionato perfettamente su Samsung-mobile
ma quando ho provato a eseguirlo su LG-Mobile
, l'app si blocca ogni volta che sto scorrendo gli elementi nella casella di selezione. L'errore è qualcosa di nuovo in quanto non ho trovato un errore simile. Errore in questo modo
process: com.example.temp.project, PID: 12142
java.lang.IllegalStateException: Iteration already started
at android.view.ViewTreeObserver$CopyOnWriteArray.start(ViewTreeObserver.java:987)
at android.view.ViewTreeObserver.dispatchOnGlobalLayout(ViewTreeObserver.java:811)
at android.widget.PopupWindow.update(PopupWindow.java:1524)
at android.widget.PopupWindow.update(PopupWindow.java:1654)
at android.widget.PopupWindow.update(PopupWindow.java:1607)
at android.widget.ListPopupWindow.show(ListPopupWindow.java:612)
at android.widget.Spinner$DropdownPopup.access$701(Spinner.java:1069)
at android.widget.Spinner$DropdownPopup$2.onGlobalLayout(Spinner.java:1178)
at android.view.ViewTreeObserver.dispatchOnGlobalLayout(ViewTreeObserver.java:815)
at android.widget.PopupWindow.update(PopupWindow.java:1524)
at android.widget.PopupWindow.update(PopupWindow.java:1654)
at android.widget.PopupWindow.update(PopupWindow.java:1607)
at android.widget.ListPopupWindow.show(ListPopupWindow.java:612)
at android.widget.ListPopupWindow$ResizePopupRunnable.run(ListPopupWindow.java:1759)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5299)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:908)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:703)
Qualsiasi suggerimento su come posso risolvere questo problema.
Ho lo stesso problema in un G2 LG con (5.0.2 Android), ma sul mio Nexus 5 (Android 6.0) e su un LG G4 (Android 6.0) le opere di scorrimento bene. – zkminusck
nessun problema su LG G3 (Android 5.0.1) e LG Leon (Android 5.0.1) – zkminusck
Ho risolto questo problema. In realtà, era un problema di layout. Spinner deve essere in cima ad altri layout di sfondo. Precedentemente, i grafici di 'GraphView' erano in primo piano ma ora ho messo gli Spinners sul layout frontale e funziona bene. –