所以我创建了一个DialogFragment,它通过此technique显示为对话框”>
现在,它已经启动,并且在此弹出窗口中与用户交互时,我想在此对话框的另一个片段中滑动。我试图通过FragmentTransaction.add()做到这一点,在这里我给它一个布局中容器之一的ID。此时,我得到:
java.lang.IllegalArgumentException: No view found for id 0x7f09013f for fragment <fragmentClassThatIWasPushingIn>
作为一项快速测试,我尝试将其推入容器ID中,而不是在对话框中,而是在主要支持活动中,并且效果很好。
关于DialogFragments及其容器ID是否存在不允许FragmentTransactions的内容?
作为权宜之计,我告诉我的交易隐藏当前的DialogFragment并显示此新片段,但是动画/显示有点刺耳,所以我真的很想解决此问题。
谢谢
因此,我已经创建了一个DialogFragment,它通过这种技术显示为对话框。既然启动了它,并且在此弹出窗口中用户交互时,我想将另一个片段滑入该对话框。 ...
[DialogFragment
显示为Dialog
时,在容器视图中实际上不是实际的Fragment
。它是一个无容器的Fragment
,基本上是Dialog
的包装。
[alexanderblom是正确的,DialogFragment
充当对话框,但是可以将其用作setShowsDialog(false);
的片段
实际上,您可以在onCreateView方法中看到一个容器。您使用容器创建视图。
使用commitAllowingStateLoss()显示DialogFragment