[英]How to call constants in java?
這個問題可能聽起來有點怪,但是,我如何在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。
你沒有“調用”常量,你可以引用它們。 你引用它們的方式適用於像這樣的public static
常量,並且你的TestAlert
構造函數正確地接受第二個參數作為int
,所以沒關系。
這些主題常量在API級別14中添加。如果您正在編譯/定位早期的API,它們將不存在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.