如何在 Kotlin 中弹回主菜单活动

问题描述 投票:0回答:1

我有一个主菜单活动,用户可以进入几个不同的功能。当他们单击一个时,我将他们移动到该活动,然后打开片段。他们可以随时单击“完成”返回主菜单,但现在只能返回第一个片段。我是否错误地处理了活动 > 活动 > 片段堆栈?

这是主菜单

   binding.putaway.setOnClickListener {
        val intent = Intent(this, PutAwayMainActivity::class.java)
        startActivity(intent)
    }
    binding.cyclecount.setOnClickListener {
        val intent = Intent(this, CycleCountMainActivity::class.java)
        startActivity(intent)
    }
    binding.transfer.setOnClickListener {
        val intent = Intent(this, TransferMainActivity::class.java)
        startActivity(intent)
    }
    binding.itemlookup.setOnClickListener {
        val intent = Intent(this, ItemLookupMainActivity::class.java)
        startActivity(intent)
    }
    binding.newreceipt.setOnClickListener {
        val intent = Intent(this, NewReceiptMainActivity::class.java)
        startActivity(intent)
    }
    binding.additem.setOnClickListener {
        val intent = Intent(this, NewReceiptAddItemMainActivity::class.java)
        startActivity(intent)
    }

这是我的新收据主要活动

class NewReceiptMainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_new_receipt_main)

        val fragment = NewReceiptSelectProgram()
        val fram = supportFragmentManager.beginTransaction()
        fram.replace(R.id.nav_newreceipt_fragment,fragment)
        fram.commit()
    }
}

这是我尝试返回的方式(这只返回到 NewReceiptSelectProgram 而不是 MainMenu)

    private fun donePressed() {
        parentFragmentManager.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
    }
android kotlin android-fragments navigation
1个回答
0
投票

我认为这应该有帮助:

    private fun donePressed() {
        requireActivity().finish()
    }
© www.soinside.com 2019 - 2024. All rights reserved.