底部导航栏的 onItemSelectedListener
Posted
技术标签:
【中文标题】底部导航栏的 onItemSelectedListener【英文标题】:onItemSelectedListener for bottomnavigationbar 【发布时间】:2021-10-01 13:40:15 【问题描述】:我是 android 和 Kotlin 的新手,使用 onitemselectedListener 开发底部导航栏,因为不推荐使用 setOnNavigationItemSelectedListener,而且我找不到任何解释如何将 onitemselectedlistener 用于导航栏的 youtube 教程。导航显示在模拟器上,但是当我单击导航图标时没有显示片段。这是我的代码。
添加activity_main和emulator error image的图片
fragmentWord image, that is connected to the first icon of "A" but doesn't show up
主活动
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.fragment.app.Fragment
import com.aryanvedh.vocabapp2.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity()
private lateinit var binding: ActivityMainBinding
override fun onCreate(savedInstanceState: Bundle?)
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
val wordFragment = WordFragment()
val memorisedFragment = MemorisedFragment()
setCurrentFragment(wordFragment)
binding.bottomNavigationView.setOnItemSelectedListener item ->
when (item.itemId)
R.id.words -> setCurrentFragment(wordFragment)
R.id.memorised -> setCurrentFragment(memorisedFragment)
true
private fun setCurrentFragment(fragment: Fragment) =
supportFragmentManager.beginTransaction().apply
replace(R.id.flFragment, fragment)
commit()
```
any help? thanks
【问题讨论】:
【参考方案1】:在底部导航中选择项目后,您需要使用OnNavigationItemSelectedListener
方法进行捕获。
这是文档中附加的示例代码。
BottomNavigationView.OnNavigationItemSelectedListener item ->
when(item.itemId)
R.id.item1 ->
// Respond to navigation item 1 click
true
R.id.item2 ->
// Respond to navigation item 2 click
true
else -> false
请refer官方文档了解有关BottomNavigationView的更多信息。
【讨论】:
谢谢@Saikiran,我尝试了你的建议,但也没有用。仍然得到同样的错误。 OnNavigationItemSelectedListener 已弃用,因此我无法使用它,我的搜索建议使用 setOnItemSelectedListener ,这是我试图弄清楚它应该如何工作的方法。谢谢以上是关于底部导航栏的 onItemSelectedListener的主要内容,如果未能解决你的问题,请参考以下文章