美文网首页
2018-06-24 Kotlin写的activity显示空白

2018-06-24 Kotlin写的activity显示空白

作者: 一叶知秋yi | 来源:发表于2018-06-24 16:07 被阅读102次
  • 问题背景
    Kotlin写的activity如下
class NewTestActivity : Activity(){

    override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
        super.onCreate(savedInstanceState, persistentState)
        setContentView(R.layout.activity_test)
    }
}

layout里面也是有内容的,但是运行的时候activity显示的是空白的。经过排查,问题出在了onCreate()方法上面,改成如下就完美解决问题了。

class NewTestActivity : Activity(){

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_test)
    }
}

看出区别了吧。以为在用Android Studio写重载方法的时候,习惯用快捷键生成重载方法,所以看到onCreate()方法直接使用了上面那一个,导致activity空白的问题。

  • 扩展阅读
    那么上面那个带两个参数的onCreate()是什么意思呢?我去查了一下源码
* Same as {@link #onCreate(android.os.Bundle)} but called for those activities created with
* the attribute {@link android.R.attr#persistableMode} set to
* <code>persistAcrossReboots</code>.

这个方法和调用onCreate一个参数的方法一样的,只是被那些已经创建过并且将persistableMode设置为persistAcrossReboots的activtiy调用。想要进一步了解的可以去查看官方文档persistableMode

相关文章

网友评论

      本文标题:2018-06-24 Kotlin写的activity显示空白

      本文链接:https://www.haomeiwen.com/subject/bmfsyftx.html