es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

ItemID usando ChipNavigationBar Android -> kotlin IdentificaciónElemento utilizando ChipNavigationBar Android -> kotlin

Estoy utilizando esto dentro de onCreate(). He creado cuatro fragmentos para la página de inicio, “me gusta”, búsqueda y perfil. Obtengo este ChipNavgation de https://github.com/ismaeldivita/chip-navigation-bar

lateinit var btm_nav : ChipNavigationBar
    btm_nav = findViewById(R.id.btm_nav)
    val homeFragment = HomeFragment()
    val favoriteFragment = FavoriteFragment()
    val searchFragment = SearchFragment()
    val profileFragment = ProfileFragment()

    setCurrentFragment(homeFragment)
    btm_nav.setOnItemSelectedListener({
        when (it.itemId) {
            R.id.home -> setCurrentFragment(homeFragment)
            R.id.fav -> setCurrentFragment(favoriteFragment)
            R.id.search -> setCurrentFragment(searchFragment)
            R.id.profile -> setCurrentFragment(profileFragment)
        }
    })

Pero este código no se está ejecutando, no puedo acceder al “itemId”.
Error -> Referencia no resuelta: itemId
Ver imagen: aquí

Observa la imagen.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El problema con este código es que el símbolo de flecha -> está siendo utilizado en lugar del operador de flecha ->. Esto está causando que el compilador no reconozca la propiedad itemId del elemento seleccionado. Para resolver el problema, reemplazar -> con ->. Aquí está el código corregido:

    lateinit var btm_nav: ChipNavigationBar
    btm_nav = findViewById(R.id.btm_nav)
    
    val homeFragment = HomeFragment()
    val favoriteFragment = FavoriteFragment()
    val searchFragment = SearchFragment()
    val profileFragment = ProfileFragment()
    
    setCurrentFragment(homeFragment)
    
    btm_nav.setOnItemSelectedListener { item ->
        when (item.itemId) {
            R.id.home -> setCurrentFragment(homeFragment)
            R.id.fav -> setCurrentFragment(favoriteFragment)
            R.id.search -> setCurrentFragment(searchFragment)
            R.id.profile -> setCurrentFragment(profileFragment)
        }
    }
    

Comments are closed.