kotlin todo-mvp使用framents
我正在使用谷歌示例中的todo-mvp-sample,想知道为什么开发者实现了统计活动(为什么使用活动而不是替换片段)
她有一个代码片段:来自TasksActivity
private fun setupDrawerContent(navigationView: NavigationView) { navigationView.setNavigationItemSelectedListener { menuItem -> if (menuItem.itemId == R.id.statistics_navigation_menu_item) { val intent = Intent(this@TasksActivity, StatisticsActivity::class.java) startActivity(intent) } // Close the navigation drawer when an item is selected. menuItem.isChecked = true drawerLayout.closeDrawers() true } }
并在StatisticsActivty重复代码:
private fun setupDrawerContent(navigationView: NavigationView) { navigationView.setNavigationItemSelectedListener { menuItem -> if (menuItem.itemId == R.id.list_navigation_menu_item) { NavUtils.navigateUpFromSameTask(this@StatisticsActivity) } // Close the navigation drawer when an item is selected. menuItem.isChecked = true drawerLayout.closeDrawers() true } }
为什么我们不应该简单地用TasksFragment替换一个新的StatisticsFragment实例,如果可能的话,如何实现呢?
例如:
private fun setupDrawerContent(navigationView: NavigationView) { navigationView.setNavigationItemSelectedListener { menuItem -> if (menuItem.itemId == R.id.statistics_navigation_menu_item) { //open StatisticsFragment }else if (menuItem.itemId == R.id.list_navigation_menu_item) { //open TasksFragment } // Close the navigation drawer when an item is selected. menuItem.isChecked = true drawerLayout.closeDrawers() true } }