我正在试着调试一些代码,并希望在Android中列出当前backstack中的片段。库存解决方案是简单地从支持管理器中列出它们,因此从
方法
活动
:
Log.i("fragments","Count : " + supportFragmentManager.fragments.toString())
... I/fragments: [NavHostFragment{b1a2d20 (f8ec2420-b534-42df-89f0-0cb189610a26) id=0x7f080001}]
一些答案是如此。
Sergii Suvorov
提供以下替代方案:
Log.i("fragments","Count : " + supportFragmentManager.findFragmentById(R.id.NAVIGATION)?.childFragmentManager?.fragments.toString())
对我来说只返回null
... I/fragments: null
方法
片段
我可以打以下电话
Log.i("fragments", fragmentManager?.fragments.toString())
它确实返回了期望的结果
... I/fragments: [FirstFragment{1475645 (3bb8566b-22b0-4c98-82ea-566e18915145) id=0x7f080001}]
我不知道如何从活动中做到这一点,也许有人知道魔法咒语?