小编Ygo*_*gor的帖子

导航到另一个片段时,ExpedDropdownMenu 扩展会使应用程序崩溃

我有两个ExposedDropdownMenu在一个屏幕内有两个按钮,可以触发导航到不同的屏幕。

目前,我正在为这次崩溃而苦苦挣扎:

java.lang.IllegalArgumentException: View=androidx.compose.material.internal.PopupLayout{c8ce24f V.E...... ......ID 0,0-960,192 #1020002 android:id/content} not attached to window manager
    at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:544)
    at android.view.WindowManagerGlobal.updateViewLayout(WindowManagerGlobal.java:433)
    at android.view.WindowManagerImpl.updateViewLayout(WindowManagerImpl.java:118)
    at androidx.compose.material.internal.PopupLayout.updatePosition(ExposedDropdownMenuPopup.kt:360)
    at androidx.compose.material.internal.PopupLayout.onGlobalLayout(ExposedDropdownMenuPopup.kt:469)
    at android.view.ViewTreeObserver.dispatchOnGlobalLayout(ViewTreeObserver.java:1061)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2987)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1950)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8186)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1056)
    at android.view.Choreographer.doCallbacks(Choreographer.java:878)
    at android.view.Choreographer.doFrame(Choreographer.java:811)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1041)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:223)
    at android.app.ActivityThread.main(ActivityThread.java:7743)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952)
Run Code Online (Sandbox Code Playgroud)

我已经尝试将 DropDown 状态提升到 ViewModel 并在导航之前折叠它,但导航的处理速度仍然比 DropDown 折叠的速度快。

目前我的应用程序正处于 Compose 迁移过程中,因此我使用 Fragments 来保存可组合项并使用导航组件进行导航。

android-jetpack-compose android-compose-exposeddropdown android-compose-dropdownmenu

6
推荐指数
1
解决办法
541
查看次数