Dialog.getCancelable()不存在

时间:2013-05-23 13:41:24

标签: android

有没有办法知道Dialog是否设置为可取消truefalse

ex:Dialog.setCancelable(true)

我如何获得它的价值?

1 个答案:

答案 0 :(得分:3)

不,Dialog类的API中没有这样的功能。

如果确实需要,可以使用Java反射访问cancelable标志:

Field f = Dialog.class.getDeclaredField("mCancelable");
f.setAccessible(true);
boolean cancelable = f.getBoolean(yourDialog);

由于这是访问Dialog类内部,因此无法保证它可以在不同版本的Android上运行。

当然,如果你自己创建了Dialog,你知道你传递给它的参数是什么,可以从那里推断出可取消性。