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 } }