我正在尝试从Android架构组件实现Nagivation.我能够在我的片段中成功导航.我试图将它附加到我的底部导航但我无法正确使用它.我可以使用Navigation.findNavController(VIEw).navigate(R.ID.Fragment)成功地在片段之间导航,但是当我使用任何UI组件或后退按钮执行此 *** 作时,我底部导航中的突出显示不会更改,如下所示GIF
MainActivity.kt的代码如下,
class MainActivity : AppCompatActivity() { private lateinit var navController: NavController private val mOnNavigationItemSelectedListener = BottomNavigationVIEw.OnNavigationItemSelectedListener { item -> when (item.itemID) { R.ID.navigation_home -> { navController.navigate(R.ID.homeFragment) return@OnNavigationItemSelectedListener true } R.ID.navigation_dashboard -> { navController.navigate(R.ID.addEmotionFragment) return@OnNavigationItemSelectedListener true } R.ID.navigation_notifications -> { return@OnNavigationItemSelectedListener true } } false } overrIDe fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentVIEw(R.layout.activity_main) navController = Navigation.findNavController(this, R.ID.nav_host) navigation.setonNavigationItemSelectedListener(mOnNavigationItemSelectedListener) }}
对于HomeFragment.kt
class HomeFragment : Fragment() { overrIDe fun onCreateVIEw(inflater: LayoutInflater, container: VIEwGroup?, savedInstanceState: Bundle?): VIEw? { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_home, container, false) } overrIDe fun onActivityCreated(savedInstanceState: Bundle?) { super.onActivityCreated(savedInstanceState) button.setonClickListener { Navigation.findNavController(it).navigate(R.ID.addEmotionFragment) } }}
解决方法:
尝试使用navigation-ui.
implementation 'androIDx.navigation:navigation-ui:' + navigationVersion //currently 1.0.0-Alpha05
在活动中
navController = Navigation.findNavController(this, R.ID.nav_host) NavigationUI.setupWithNavController(bottomNavigation, navController)
并确保您的片段ID匹配菜单ID.
<item androID:ID="@+ID/homeFragment" androID:title="Home"/>
总结 以上是内存溢出为你收集整理的Android BottomNavigation未正确使用导航控制器突出显示全部内容,希望文章能够帮你解决Android BottomNavigation未正确使用导航控制器突出显示所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)