Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.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 是否可以拦截和取消碎片事务_Android_Android Fragments_Android Actionbar - Fatal编程技术网

Android 是否可以拦截和取消碎片事务

Android 是否可以拦截和取消碎片事务,android,android-fragments,android-actionbar,Android,Android Fragments,Android Actionbar,我在操作栏上有两个标签(夏洛克)。在某些情况下,如果用户试图离开当前选项卡,我会要求用户确认,如果未确认,则停止更改选项卡。这主要是由于在用户去摆弄另一个选项卡上的设置之前停止了进程 当我使用TabHost时,我有一个非常丑陋但可行的解决方案,在选项卡上有一个OnTouchListener,因此我可以在事件真正被处理之前拦截它。似乎ActionBar选项卡不能有触控监听器,所以这似乎是不可能的 现在有了ActionBar,我有了TablListener,可以处理碎片事务的分离和附加。有什么简单的

我在操作栏上有两个标签(夏洛克)。在某些情况下,如果用户试图离开当前选项卡,我会要求用户确认,如果未确认,则停止更改选项卡。这主要是由于在用户去摆弄另一个选项卡上的设置之前停止了进程

当我使用TabHost时,我有一个非常丑陋但可行的解决方案,在选项卡上有一个OnTouchListener,因此我可以在事件真正被处理之前拦截它。似乎ActionBar选项卡不能有触控监听器,所以这似乎是不可能的

现在有了ActionBar,我有了TablListener,可以处理碎片事务的分离和附加。有什么简单的方法可以取消交易吗?我想我可以对onTabUnselected和onTabSelected进行检查,但不执行相应的分离和附加操作,但这感觉有点复杂


如果停止更改标签听起来太愚蠢,我也愿意接受其他建议

好吧,这是我最后要做的,以防有人在这里绊倒。我找不到任何合理的方法来阻止选项卡更改或获取选项卡视图以附加触摸侦听器。至少可以说是令人恼火

相反,我使用TabListener来附加一个空片段,当我想将用户返回到原始选项卡时。在这个片段的onResume()上,我打开了一个对话框,可以选择继续第二个选项卡还是返回第一个选项卡。在这两种情况下,我只需使用正确的选项卡调用操作栏的setSelectedNavigationItem(),TablListener将处理传输,并处理我的空片段

最后,它实际上运行得很好