美文网首页
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