我最近发现我在应用程序中实现的一些对话框在三星设备上效果非常好,但是在其他设备上都可以通过“setCancelable(true)”在单击其外部时关闭对话框,但在三星设备上则不行。我测试的三星设备有:Samsung Galaxy S3、S4和Samsung Galaxy Tab 2。代码为new AlertDialog.Builder(context).setCancelable(true)。还有其他人遇到这个问题吗?谢谢!
我也遇到了同样的问题,就是在一些设备上(例如三星S3),无论什么原因,对话框在点击外部时不会消失。您可以使用setCanceledOnTouchOutside方法来解决此问题:
AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
AlertDialog dialog = b.create();
dialog.setCanceledOnTouchOutside(true);
dialog.show();
类似于那样。我希望能帮助你。
是的,我在 Galaxy Grand 上测试时遇到了同样的问题,但我注意到 HTC、Nexus 和 CyanogenMod 的行为与三星不同。
要解决这个问题,您需要维护布尔标志,以确定对话框是否存在/显示。