我在下面的代码中使用根布局添加和删除自定义对话框
fun addToRoot(view: View) {
(findViewById<View>(android.R.id.content) as ViewGroup).addView(view)
}
删除视图
fun removeFromRoot(view: View) {
(findViewById<View>(android.R.id.content) as ViewGroup).removeView(view)
}
视图第一次显示正常,但第二次调用addToRoot时,我需要将视图可见性设置为VISIBLE,因为它在被删除后消失了。考虑到这是我在Java中使用的相同代码,这是如何发生的,我刚刚迁移到Kotlin,不得不发现第二次调用时视图不显示的bug。
1条答案
按热度按时间bwntbbo31#
我怀疑你发布的代码是否使视图变成了
gone
。如果我们将代码反编译为Java,我们会看到以下内容:我猜这看起来与忽略Kotlin引入的检查的Java代码非常相似。