我有一个主菜单活动,用户可以进入几个不同的功能。当他们点击一个时,我将他们移动到该活动,然后打开片段。在任何时候,他们都可以单击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)
}
1条答案
按热度按时间9o685dep1#
我认为这应该有所帮助: