Kotlin Android start new Activity

后端 未结 17 2292
不知归路
不知归路 2020-12-07 23:33

I want to start another activity on Android but I get this error:

Please specify constructor invocation; classifier \'Page2\' does not have a companio

17条回答
  •  庸人自扰
    2020-12-08 00:26

    How about this to consider encapsulation?

    For example:

    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_contents)
    
            val title = intent.getStringExtra(EXTRA_TITLE) ?: EXTRA_TITLE_DEFAULT
    
            supportFragmentManager.beginTransaction()
                .add(R.id.frame_layout_fragment, ContentsFragment.newInstance())
                .commit()
        }
    
        // Omit...
    
        companion object {
    
            private const val EXTRA_TITLE = "extra_title"
            private const val EXTRA_TITLE_DEFAULT = "No title"
    
            fun newIntent(context: Context, title: String): Intent {
                val intent = Intent(context, ContentsActivity::class.java)
                intent.putExtra(EXTRA_TITLE, title)
                return intent
            }
        }
    

提交回复
热议问题