Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 显示ActionBar.TabListener中的DialogFragment_Android_Android 3.0 Honeycomb_Android Fragments - Fatal编程技术网

Android 显示ActionBar.TabListener中的DialogFragment

Android 显示ActionBar.TabListener中的DialogFragment,android,android-3.0-honeycomb,android-fragments,Android,Android 3.0 Honeycomb,Android Fragments,在操作栏中选择选项卡时,是否可以显示片段对话框 onTabSelected()方法发生在方法执行完成后提交的事务中。但是,DialogFragment中的show()方法也会自动出现在事务中,因此,如果在选择选项卡时尝试显示对话框,则会出现RuntimeException,因为事务会提交两次 任何提示都将不胜感激。只需忽略提供的片段事务即可 例如,如果您使用的是Android兼容性库(ACL),则需要执行此操作,因为从操作栏获得的FragmentTransaction是Android 3.0Fr

操作栏
中选择选项卡时,是否可以显示
片段对话框

onTabSelected()
方法发生在方法执行完成后提交的事务中。但是,
DialogFragment
中的
show()
方法也会自动出现在事务中,因此,如果在选择选项卡时尝试显示对话框,则会出现
RuntimeException
,因为事务会提交两次


任何提示都将不胜感激。

只需忽略提供的
片段事务即可

例如,如果您使用的是Android兼容性库(ACL),则需要执行此操作,因为从操作栏获得的
FragmentTransaction
是Android 3.0
FragmentTransaction
,而不是ACL
FragmentTransaction
。因此,您可以忽略传入的,而使用自己的

类似地,我希望您可以忽略
FragmentTransaction
,自己显示
对话框fragment
,而不会出现问题


用户体验是否有意义是另一个问题。当用户接受对话框时,选项卡显示。。。什么都没有?

当选择选项卡时,可以在内容区域的顶部(操作栏的正下方)显示某种子菜单。此子菜单包含筛选选项,这些选项将在选择时用实际内容替换内容区域。@mgv:::shrug::我仍然觉得奇怪。子菜单看起来不错;使用像对话框一样的临时UI元素不会。用户点击选项卡,从子菜单中选择一项,然后。。。现在无法从子菜单中选择任何其他内容,因为它已消失。为什么不使用“列表”导航而不是选项卡,并在
微调器中呈现行来建议您的菜单层次结构呢?这是真的,听起来很奇怪。我被要求这样做,但我想我会为我参加聚会的权利而斗争,并听从你的建议。附言:忽略碎片交易是有效的,所以你的答案是正确的。