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

需要 2 次后退才能启动后退动作

如何解决需要 2 次后退才能启动后退动作

我正在创建带有片段的底部导航视图,但问题是当我按下返回时什么也没有发生,但是当我再次按下时,我的片段发生了变化。我正在使用 .addToBackStack 但它可以使用 2 次返回。 这是我的代码的参考 提前致谢

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment
import com.ikgptu.stookptu.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
        //Frag Instance
        val homeFragment = HomeFragment()
        val notesFragment = NotesFragment()
        val expenseFragment = ExpenseFragment()
        val printFragment = PrintFragment()

        setCurrentFragment(homeFragment)

        binding.bottomNavbar.setonNavigationItemSelectedListener{
            when(it.itemId) {
                R.id.menu_home -> {
                    setCurrentFragment(homeFragment)
                }
                R.id.menu_notes -> {
                    setCurrentFragment(notesFragment)
                }
                R.id.menu_expense ->{
                    setCurrentFragment(expenseFragment)
                }
                R.id.menu_print ->{
                    setCurrentFragment(printFragment)
                }
            }
            true
        }
    }
    private fun setCurrentFragment(fragment: Fragment){
        supportFragmentManager.beginTransaction().apply {
            replace(R.id.fragContainer,fragment).addToBackStack(null)
            commit()
        }
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。