Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

488
Visualizações
setOnNavigationItemSelectedListener obsoleto

Actualmente estoy trabajando en una aplicación que tiene una barra de navegación inferior con tres elementos de menú. Había usado setOnNavigationItemSelectedListener() para hacer clic en los elementos. pero ahora me enfrento al problema de que el método se ha depreciado.

  • Idioma de la aplicación: Java
  • Problema: 'setOnNavigationItemSelectedListener(com.google.android.material.bottomnavigation.BottomNavigationView.OnNavigationItemSelectedListener)' is deprecated

¿Hay alguna forma de resolverlo? ¿Hay alguna alternativa mejor que el método setOnNavigationItemSelectedListener() ?

over 4 years ago · Santiago Trujillo
4 Respostas
Responde à pergunta

0

puedes probar setonItemSelectedListener . Funciona igual que setOnNavigationItemSelectedListener() [probado en Android 11]

 bnv.setOnItemSelectedListener(new NavigationBarView.OnItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { int id = item.getItemId(); switch(id){ //check id } return true; } });

Kotlin:

 bnv.setOnItemSelectedListener { item -> when (item.itemId) { } true }
over 4 years ago · Santiago Trujillo Relatório

0

Está en desuso según las fuentes de github: BottomNavigationView.setOnNavigationItemSelectedListener

En su comentario se puede leer:

 @deprecated Use {@link NavigationBarView#setOnItemSelectedListener(OnItemSelectedListener)} * instead.

entonces use NavigationBarView.setOnItemSelectedListener de su clase base:

 /** * Set a listener that will be notified when a navigation item is selected. This listener will * also be notified when the currently selected item is reselected, unless an {@link * OnItemReselectedListener} has also been set. * * @param listener The listener to notify * @see #setOnItemReselectedListener(OnItemReselectedListener) */ public void setOnItemSelectedListener(@Nullable OnItemSelectedListener listener) { selectedListener = listener; }

También vea este compromiso

ya que explica la confusión sobre este cambio:

Los oyentes quedaron en desuso en favor de NavigationBarView#OnItemSelectedListener y NavigationBarView#OnItemReselectedListener , pero la documentación de desuso nunca se agregó, por lo que no está claro qué deben usar los desarrolladores en su lugar.

over 4 years ago · Santiago Trujillo Relatório

0

Podemos usar setOnItemSelectedListener en lugar de setOnNavigationItemSelectedListener y setOnItemReselectedListener en lugar de setOnNavigationItemReselectedListener

 navView.setOnItemSelectedListener { // do something true } // In case the default menu can be the first menu // Should set the default selected menu BETWEEN setOnItemSelectedListener and setOnItemReselectedListener. // It will make setOnItemSelectedListener fired when you launch app. // If you set default menu AFTER setOnItemReselectedListener. // Then setOnItemReselectedListener will fired when you launch app navView.selectedItemId = R.id.navigation_home navView.setOnItemReselectedListener { // do something }
over 4 years ago · Santiago Trujillo Relatório

0

 viewBindingMainActivity.navView.setOnItemSelectedListener { menuItem -> if (menuItem.itemId != R.id.navigation_home) { Add your code false } else { Add your code true } }

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda