Android Fragments 如何在Kotlin中返回主菜单Activity

rbpvctlc  于 9个月前  发布在  Android
关注(0)|答案(1)|浏览(79)

我有一个主菜单活动,用户可以进入几个不同的功能。当他们点击一个时,我将他们移动到该活动,然后打开片段。在任何时候,他们都可以单击Done返回到主菜单,但现在它只能返回到第一个片段。我是否错误地处理了activity > activity > fragments堆栈?
这是主菜单

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

下面是我如何尝试弹出回来(这只会回到NewReceivtSelectProgram而不是MainMenu)

private fun donePressed() {
        parentFragmentManager.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
    }
9o685dep

9o685dep1#

我认为这应该有所帮助:

private fun donePressed() {
        requireActivity().finish()
    }

相关问题