如何解决将 ComposeView 添加到 PopupWindow 的 contentView 崩溃
我试图显示 PopupWindow
中的 Fragment
,然后将 ComposableView
添加到弹出窗口 contentView
,但它崩溃了,因为 {{1}找不到 ViewTreeLifecycleOwner
的 }。
我尝试过的事情:
- 使用
PopupDecorView$PopupDecorView
显示弹出窗口。 -
PopupWindowCompat
的多个库版本(1.3.4 和 1.4.0-alpha1)。 -
Fragment
我使用的版本是:1.3.0-alpha08。 - 手动设置
Activity
和contentView
的生命周期所有者。
调用:
将 ComposeView
添加到 ComposeView
:
contentView
显示弹出窗口:
contentwindow.contentView.addView(
AdaptiveCardistRender.adaptiveCardistResponseView(
contentwindow.contentView.context,response
)
)
在 PopupWindowCompat.showAsDropDown(
popupWindow,anchor,startVerticalOffset,Gravity.NO_GraviTY
)
上设置生命周期:
PopupWindow
堆栈跟踪:
class ExtensionsPopupWindow(
val contentView: ScrollView,width: Int,height: Int,lifecycleOwner: LifecycleOwner,savedStateRegistryOwner: SavedStateRegistryOwner,) : PopupWindow(contentView,width,height,true) {
init {
ViewTreeLifecycleOwner.set(contentView,lifecycleOwner)
ViewTreeSavedStateRegistryOwner.set(contentView,savedStateRegistryOwner)
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。