KotlinAndroid活动启动时未执行创建功能

kuuvgm7e  于 2023-01-17  发布在  Kotlin
关注(0)|答案(1)|浏览(150)

我是Android开发的新手,我刚刚开始学习。
我的问题是:
我在activity_main中的onCreate函数工作正常,它显示了所有内容。然后他登录并向我显示第二个活动,onCreate函数也工作,但当我转到第三个活动时,onCreate函数不执行。
DashboardActivity.kt

class DashboardActivity : AppCompatActivity() {
    @SuppressLint("MissingInflatedId")
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_dashboard)
        val policy = ThreadPolicy.Builder().permitAll().build()
        StrictMode.setThreadPolicy(policy)
       sendGet()
       // sendPostRequest()
    }
fun openTest(view: View){
        setContentView(R.layout.activity_test);
    }
}

TestActivity.kt

class TestActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_test)
        println("test")
    }
}

有人能指导我或解释什么和如何?我已经坐在这一段时间,搜索互联网和没有...
我搜索了互联网,尝试了解决方案,尝试创建更多活动,通过添加断点打开调试模式,但它甚至没有进入此函数

lx0bsm1f

lx0bsm1f1#

要启动“活动”,您需要调用以下命令:

startActivity(Intent(this, NextActivity::class.java))

否则,如果不显式调用上面的函数,将不会调用onCreate(Bundle?)
因此,在您的情况下,似乎您希望在openTest(View)中获得TestActivity,您应该具有如下内容:

fun openTest(view: View) {
  startActivity(Intent(this, TestActivity::class.java))
  // Calling setContentView() will not trigger another Activity
  // setContentView(R.layout.activity_test);
}

相关问题