Espresso:无法启动内部片段

Espresso: Not able to launch inner fragment

我正在使用 launchFragmentInContainer<FragmentOne>() 启动片段并能够使用 EspressoMatchers 执行操作,一切正常。

但是当我想启动另一个 fragment onClick Of button(此代码在 FragmentOne 内)但是启动时出现 FragmentTwo 错误

示例:

onClick {
        val fragment = FragmentTwo.newInstance()
        val transaction = requireActivity().supportFragmentManager.beginTransaction()
        transaction.add(fragmentContainerID, fragment)
        transaction.commit()    
       }

以上代码给出错误java.lang.IllegalArgumentException: No view found for id 0x4d2 (unknown) for fragment FragmentTwo{bc39d06} (6f4636b5-f441-4e38-956a-47ac91d261bc) id=0x4d2}

如何解决这个内部片段?或者我必须在浓缩咖啡测试中做点什么。

这个问题是由于 fragmentContainerID 引起的,它应该是唯一的并且在 launchFragmentInContainer() 的幕后使用。

因此,在 espresso 框架内 android.R.id.content 用作 fragment Id。片段交易时应使用相同的 ID。

代码段:

var fragmentContainerID = android.R.id.content // It will do the trick and fragment will be added on top of stack