问题描述
此代码段代码用于在应用启动时显示FirstFragment:
MainActivity.kt-> OnCreate()
val currentFragment =
supportFragmentManager.findFragmentById(R.id.fragmentContainer)
if (currentFragment == null) {
val fragment = FirstFragment.newInstance()
replaceFragment(fragment)
}
和通常的导航抽屉代码:
MainActivity.kt OnCreate()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.navigation_drawer)
val toolbar: Toolbar = findViewById(R.id.toolbar)
setSupportActionBar(toolbar)
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
//Navigation Drawer
val toggle = ActionBarDrawerToggle(
this,drawerLayout,toolbar,R.string.open_drawer,R.string.close_drawer
)
drawerLayout.addDrawerListener(toggle)
toggle.syncState()
val navigationView: NavigationView = findViewById(R.id.navigation_view)
navigationView.setNavigationItemSelectedListener(this)
并覆盖onCreateOptionsMenu(),onNavigationItemSelected():
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
// Inflate the menu,this adds items to the action bar
menuInflater.inflate(R.menu.menu,menu)
return true
}
override fun onNavigationItemSelected(item: MenuItem): Boolean {
when(item.itemId) {
R.id.second_fragment_id -> {
Log.d(TAG,"second_id")
}
R.id.third_fragment_id -> {
val fragment = ThirdFragment.newInstance()
replaceFragment(fragment)
}
}
val drawer = findViewById<DrawerLayout>(R.id.drawer_layout)
drawer.closeDrawer(GravityCompat.END)
return true
}
问题:
在项目中,Log.e()正常工作 但在替换ThirdFragment项时再次显示FirstFragment。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)