【发布时间】:2014-07-31 19:54:00
【问题描述】:
我有一个使用片段的应用程序。设置是这样的:
主活动加载,将片段活动加载到父活动的右侧部分
-从片段中,我启动了一个显示用户列表的 DialogFragment
- 从 DialogFragment 中,如果您单击列表中的一个用户,它会隐藏用户列表 DialogFragment .hide() 并显示一个包含有关用户详细信息的新 DialogFragment
这一切都很好。但是,当我单击 Details DialogFragment 上的 Close 按钮时,我想关闭该对话框,并重新显示 List of Users 对话框。
我意识到这有点难以理解。 有没有人有任何可以帮助我的见解?
更新
我用来显示 DialogFragment 的代码如下:
MyDialogFragment dialog = new MyDialogFragment();
dialog.show(getFragmentManager(), "MyDialogFragment");
然后在对话框片段中,如果我想隐藏它并显示我调用的详细信息片段
dialog.hide();
MyDetailsFragment details = new MyDetailsFragment();
details.show(getFragmentManager(), "MyDetailsFragment");
基本上,当我关闭详细信息时,我需要能够重新显示上面的对话框。
【问题讨论】:
-
一个完全不涉及
DialogFragments 的解决方案是使用Dialog-themed 活动(后台将确保用户列表活动对话框将重新显示时用户详细信息活动对话框完成)。您也可以使用FragmentTransaction#addToBackStack方法实现类似的效果。 -
您能否展示一个用于调出 DialogFragments 并将其切换出来的代码示例?
-
@AndrewSchuster 问题已更新为包含我用来显示/隐藏对话框片段的代码
-
您是否尝试过不在您的
MyDialogFragment上调用hide()? -
@AndrewSchuster 是的,这似乎确实有效,但您可以看到 MyDialogFragment 上方的对话框弹出。然后,当您关闭详细信息对话框时,下面的对话框已经存在并存在。希望能够通过隐藏一个,显示另一个来使其更流畅,当细节被忽略时,重新显示隐藏。
标签: android android-fragments android-dialog android-dialogfragment