这个问题可能听起来有点奇怪,但是,我如何在 java 中调用常量?问题是我正在玩 AlertDialog android 类。由于此类具有受保护的构造函数,因此我无法在创建对话框的活动类中调用它们。因此,我创建了一个子 AlertDialog 类并将其构造函数公开,如下所示:
public class TestAlert extends AlertDialog {
public TestAlert(Context context) {
super(context);
}
public TestAlert(Context context, int theme) {
super(context, theme);
}
}
然后我创建了这样的对话框:
TestAlert ta = new TestAlert(con, AlertDialog.THEME_DEVICE_DEFAULT_DARK);
ta.setMessage("Hello");
ta.show();
这里奇怪的是这段代码是错误的:AlertDialog.THEME_DEVICE_DEFAULT_DARK
我不知道为什么。
从有关 AlertDialog 类的Android 开发人员页面中,我们可以清楚地看到这些主题是常量。(公共,静态,最终)。因为它们是静态的,所以应该用类名调用它们,后跟一个点。他们也是公开的,所以应该没有问题。但奇怪的是我不能那样做。但是如果我传递数字而不是常量名称,它的工作原理是这样的:
new TestAlert(con, 2);
ps:我知道我应该用它AlertDialog.Builder
来建立对话。但是让我们称我在“探索”。
帮助了解。