我刚接触android和Kotlin,使用onitemselectedListener开发了一个底部导航栏,因为setOnNavigationItemSelectedListener已经被弃用了,而且我找不到任何youtube教程来解释如何使用onitemselectedlistener来做导航栏。导航显示在模拟器上,但当我单击导航图标时,片段不会显示。这是我的代码。
添加activity_main和emulator error image的图像
fragmentWord image, that is connected to the first icon of "A" but doesn't show up
MainActivity
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 发布于 2021-07-25 16:07:52
在底部导航中选择项目后,需要使用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
}
}有关BottomNavigationView的更多信息,请通过refer访问官方文档。
https://stackoverflow.com/questions/68515923
复制相似问题