Android 8.1 / 9.0 removeView (View) не поддерживается в AdapterView - PullRequest
0 голосов
/ 05 января 2019

Я получаю исключение «removeView (View) не поддерживается в AdapterView» при запуске моего приложения в Android версии 8.1 и 9.0. В предыдущих версиях работает нормально. Хотя ошибка постоянна, она не возникает в 100% случаев (что заставляет меня подозревать, что это проблема с многопоточностью) и не связана с конкретным адаптером или представлением списка. Например, я получаю доступ к одному и тому же коду из нескольких активов, и для одних он работает нормально, а для других - нет. Я должен также указать, что я не вызываю removeView ни в одной из ситуаций, когда я получаю ошибку. Ниже приведен вывод LogCat для исключения:

java.lang.UnsupportedOperationException: removeView(View) is not supported in AdapterView
    at android.widget.AdapterView.removeView(AdapterView.java:531)
    at android.view.ViewOverlay$OverlayViewGroup.add(ViewOverlay.java:195)
    at android.view.ViewGroupOverlay.add(ViewGroupOverlay.java:72)
    at android.transition.TransitionUtils.createViewBitmap(TransitionUtils.java:170)
    at android.transition.TransitionUtils.copyViewImage(TransitionUtils.java:104)
    at android.transition.Visibility.onDisappear(Visibility.java:380)
    at android.transition.Visibility.createAnimator(Visibility.java:249)
    at android.transition.Transition.createAnimators(Transition.java:732)
    at android.transition.TransitionSet.createAnimators(TransitionSet.java:396)
    at android.transition.Transition.playTransition(Transition.java:1779)
    at android.transition.TransitionManager$MultiListener.onPreDraw(TransitionManager.java:315)
    at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:977)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2349)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1392)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6752)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
    at android.view.Choreographer.doCallbacks(Choreographer.java:723)
    at android.view.Choreographer.doFrame(Choreographer.java:658)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
    at android.os.Handler.handleCallback(Handler.java:790)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6494)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Может кто-нибудь указать мне на решение?

1 Ответ

0 голосов
/ 27 марта 2019

Я закончил создание подклассов ListView и переопределил removeView и addView с пустыми методами. Я сомневаюсь, что это правильный способ решить эту проблему, но это сработало.

...