Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.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 在其中一个片段中单击某个按钮后,如何禁用viewPager滚动?_Android_Android Studio_Android Viewpager - Fatal编程技术网

Android 在其中一个片段中单击某个按钮后,如何禁用viewPager滚动?

Android 在其中一个片段中单击某个按钮后,如何禁用viewPager滚动?,android,android-studio,android-viewpager,Android,Android Studio,Android Viewpager,我做了一个有两个标签的活动,一个用于登录,一个用于注册。这些选项卡中的每一个都是在各自的片段中设计的 我希望无论何时从片段中单击login或register按钮,viewPager都不应该再滚动,直到执行网络调用 最好的方法是什么?是否可以在不定义自定义viewpager类的情况下执行此操作 如果整个布局冻结,或者活动在上述持续时间内停止使用任何类型的触摸或交换输入,我也可以这样做。点击按钮后,您可以在ViewPager上方添加一个透明视图,并将ClickListener设置为该视图。然后,您的

我做了一个有两个标签的活动,一个用于登录,一个用于注册。这些选项卡中的每一个都是在各自的片段中设计的

我希望无论何时从片段中单击login或register按钮,viewPager都不应该再滚动,直到执行网络调用

最好的方法是什么?是否可以在不定义自定义viewpager类的情况下执行此操作


如果整个布局冻结,或者活动在上述持续时间内停止使用任何类型的触摸或交换输入,我也可以这样做。

点击按钮后,您可以在ViewPager上方添加一个透明视图,并将ClickListener设置为该视图。然后,您的所有触摸都将被该透明视图消耗。网络响应出现后,移除透明视图

点击按钮后,您可以在ViewPager上方添加一个透明视图,并将ClickListener设置为该视图。然后,您的所有触摸都将被该透明视图消耗。网络响应出现后,移除透明视图

如果整个布局冻结,或者活动在上述持续时间内停止使用任何类型的触摸或交换输入,我也可以

我想你需要一个 要显示进度并调用它,请在后台任务完成时关闭()对话框

如果整个布局冻结,或者活动在上述持续时间内停止使用任何类型的触摸或交换输入,我也可以

我想你需要一个
要显示进度并调用它,当后台任务完成时,请关闭()对话框

,您可以使用不可取消的对话框,该对话框将显示在屏幕顶部,直到网络做出响应。在ProgressDialog上使用
.setCancelable(true)
。此解决方案可能对您有所帮助@lRadha是的,这正是我应该做的。但是对于这个项目,我将使用透明视图。但对于将来的使用,我肯定会选择不可取消对话框。您可以使用不可取消对话框,它将显示在屏幕顶部,直到网络做出响应。在ProgressDialog上使用
.setCancelable(true)
。此解决方案可能对您有所帮助@lRadha是的,这正是我应该做的。但是对于这个项目,我将使用透明视图。但是,为了以后的使用,我一定会去不可取消的对话框。最好的解决方案,如果你想禁用两个方向上的刷卡,不需要编写自定义视窗。我不认为这是最好的解决方案。如果您编写自定义的viewpager,则该viewpager可以在许多布局中重复使用。但是在这种方法中,您必须在所有布局中添加透明视图。自定义viewpager提高了代码的可读性和可维护性,因为viewpager的所有启用和禁用都会进入viewpager本身。这些逻辑不会在您的活动或片段中杂乱无章。因为问题是“是否可以在不定义自定义viewpager类的情况下执行此操作”,我已经回答了透明视图解决方案。stackoverflow中已经有很多自定义的viewpager解决方案。是的,我自己也使用过自定义的viewpager,用于在两个方向或任意一个方向禁用。不过你是对的,如果必须在一个或两个地方使用它,那么它将非常适合,否则创建一个新类并执行它是没有意义的。@DineshBob感谢您的回答。对于我的案例来说,这无疑是最好的解决方案之一,因为只有在需要此功能的活动中,应用程序才是为一个简单的项目而设计的,而不是为生产使用。此外,这个解决方案将减轻我为自定义VIEWPAGER编写额外代码的负担。最好的解决方案是,如果您想禁用两个方向的刷卡,就不需要编写自定义的查看程序。我不认为这是最好的解决方案。如果您编写自定义的viewpager,则该viewpager可以在许多布局中重复使用。但是在这种方法中,您必须在所有布局中添加透明视图。自定义viewpager提高了代码的可读性和可维护性,因为viewpager的所有启用和禁用都会进入viewpager本身。这些逻辑不会在您的活动或片段中杂乱无章。因为问题是“是否可以在不定义自定义viewpager类的情况下执行此操作”,我已经回答了透明视图解决方案。stackoverflow中已经有很多自定义的viewpager解决方案。是的,我自己也使用过自定义的viewpager,用于在两个方向或任意一个方向禁用。不过你是对的,如果必须在一个或两个地方使用它,那么它将非常适合,否则创建一个新类并执行它是没有意义的。@DineshBob感谢您的回答。对于我的案例来说,这无疑是最好的解决方案之一,因为只有在需要此功能的活动中,应用程序才是为一个简单的项目而设计的,而不是为生产使用。此外,这个解决方案将减少我为自定义viewPager编写额外代码的负担。是的,实际上这正是我所需要的。但是因为我已经用progressLayout实现了所有东西,所以我更喜欢使用@Dinesh Bob建议的透明视图,而不是更改代码。是的,实际上这正是我需要的。但是因为我已经用progressLayout实现了所有东西,所以我更喜欢使用@Dinesh Bob建议的透明视图,而不是更改代码。