Kotlin 谁能帮助我,如何将fragmnet移动到活动中

Kotlin 谁能帮助我,如何将fragmnet移动到活动中,kotlin,android-activity,fragment,Kotlin,Android Activity,Fragment,我使用了一个从HomeFragment到TanamanActivity的片段,我不使用意图,因为我不太理解,有人能帮我完成下面的示例代码吗 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_home) val homeFragment = HomeFragment() va

我使用了一个从HomeFragment到TanamanActivity的片段,我不使用意图,因为我不太理解,有人能帮我完成下面的示例代码吗

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

    val homeFragment = HomeFragment()
    val tanamanActivity = TanamanActivity()
    val personFragment = PersonFragment()


    makeCurrentFragment(homeFragment)
    bottom_navigation.setOnNavigationItemSelectedListener {
        when (it.itemId){
            R.id.ic_home -> makeCurrentFragment(homeFragment)
            R.id.ic_tanaman -> tanamanActivity
            R.id.ic_person -> makeCurrentFragment(personFragment)
        }
        true
    }
}

private fun makeCurrentFragment(fragment: Fragment) =
    supportFragmentManager.beginTransaction().apply {
        replace(R.id.fl_wrapper, fragment)
        commit()
    }
}


您应该使用Intent开始新的活动。示例代码:

startActivity(Intent(this, TanamanActivity::class.java))
Intentconstrutor接受两个参数:

  • 上下文其中将使用意图(在这种情况下,您的家庭活动
  • 类别将用于目的的组件(在这种情况下,活动类别)

  • 是这样吗?
    val homeFragment=homeFragment()val tanamanavity=tanamanavity()val personFragment=personFragment()startActivity(Intent(this,tanamanavity::class.java))
    @HafidSuhanizar您不应该使用构造函数创建活动实例。在NavigationItemSelectedListener中使用我的代码,而不是TamacaActivity。
    R.id.ic\u home->makeCurrentFragment(homeFragment)R.id.ic\u tanaman->startActivity(Intent(this,tanamanaActivity::class.java))R.id.ic\u person->makeCurrentFragment(personFragment)
    是这样的吗?