Fragmento en kotlin

Estoy atrapado en mi aplicación porque tengo que hacer un fragment con el cajón de navigation en kotlin. ¿Alguien puede ayudar? He buscado muchas cosas en la web pero todavía no he encontrado nada … Aquí abajo hay dos elementos que tengo que hacer en la actividad principal y quiero que también estén presentes en el fragment.

override fun onNavigationItemSelected(item: MenuItem): Boolean { // Handle navigation view item clicks here. when (item.itemId) { R.id.home -> { } R.id.subjects -> { val intent = Intent(this, SubjectsActivity::class.java) startActivity(intent) } } drawer_layout.closeDrawer(GravityCompat.START) return true } 

Es algo como esto? @NongthonbamTonthoi

 class NavViewFragment : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener { fun AppCompatActivity.addFragment(fragment: Fragment, frameId: Int){ supportFragmentManager.inTransaction { add(frameId, fragment) } } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_nav_view_fragment) setSupportActionBar(toolbar) nav_view.setNavigationItemSelectedListener(this) } override fun onBackPressed() { if (drawer_layout.isDrawerOpen(GravityCompat.START)) { drawer_layout.closeDrawer(GravityCompat.START) } else { super.onBackPressed() } } override fun onCreateOptionsMenu(menu: Menu): Boolean { // Inflate the menu; this adds items to the action bar if it is present. menuInflater.inflate(R.menu.nav_view, menu) return true } override fun onOptionsItemSelected(item: MenuItem): Boolean { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. when (item.itemId) { R.id.action_settings -> return true else -> return super.onOptionsItemSelected(item) } } override fun onNavigationItemSelected(item: MenuItem): Boolean { // Handle navigation view item clicks here. when (item.itemId) { R.id.home -> { } R.id.subjects -> { val intent = Intent(this, SubjectsActivity::class.java) startActivity(intent) } } drawer_layout.closeDrawer(GravityCompat.START) return true } inline fun FragmentManager.inTransaction(func: FragmentTransaction.() -> Unit) { val fragmentTransaction = beginTransaction() fragmentTransaction.func() fragmentTransaction.commit() } } 

Puede usar esto para replace su marco con HomeFragment (). MainDisplayFrame debe ser reemplazado por su FrameID.

 var fragmentTransaction = supportFragmentManager.beginTransaction() fragmentTransaction = supportFragmentManager.beginTransaction() fragmentTransaction.replace(R.id.mainDisplayFrame,HomeFragment()).commit() mDrawerLayout!!.closeDrawers() 
  • No se puede ejecutar el file jar. (Error: no se pudo encontrar o cargar la class principal co.pissarra.Mainkt)
  • ¿Por qué hay NoClassDefFoundError con una class que existe?
  • Kotlin: accede a la class enum anidada desde Java
  • Seguridad de rosca variable local de Kotlin
  • Kotlin coroutines en Android: ¿Por qué usar bg () de Anko en lugar de async ()?
  • El uso de Kotlin "apply in companion object" arroja un error inesperado
  • ¿Puedo tener varios files de salida cuando uso Kotlin JS?
  • Cómo verificar si los datos se insertan en la database de la sala
  • Cómo convertir Java a Kotlin en controller
  • Implementando TypeAdapterFactory con TypeAdapter en Kotlin
  • collections kotlin convirtiendo un Mapa en un nuevo Mapa con valores calculados a partir del original