微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

单个活动应用程序中的导航抽屉,并在所有导航项目中显示默认片段

如何解决单个活动应用程序中的导航抽屉,并在所有导航项目中显示默认片段

代码代码用于在应用启动时显示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 举报,一经查实,本站将立刻删除。