roo*_*era 3 java android android-alertdialog
这个问题可能听起来有点怪,但是,我如何在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来构建对话.但我们称之为"探索".
帮助appriciated.
T.J*_*der 11
你没有"调用"常量,你可以引用它们.对于public static像这样的常量,你引用它们的方式很好,而你的TestAlert构造函数正确地接受了第二个参数int,所以没关系.
这些主题常量在API级别14中添加.如果您正在编译/定位早期的API,它们将不存在.
| 归档时间: | 
 | 
| 查看次数: | 193 次 | 
| 最近记录: |