2012-02-24 57 views
0

我有一個空白最終字段在我的活動
該值在編譯時不知道,必須從構造函數中初始化。訪問來自活動構造函數的包信息

要初始化字段,我從構造函數中訪問getPackageName()。不幸的是,這導致NullPointerException

是否有任何方法從構造函數中訪問包名或其他Manifest信息?

private String packageName; 
final private boolean proVersion; 

// Constructor: for initialization of blank final variables 
public myActivity() { 
    packageName = getPackageName().toLowerCase(); 
    proVersion = appVersion(); 
} 
+0

post ur code pls – 2012-02-24 10:37:37

回答

0

是否必須是「最終」?

如果不是,您可以調用getPackageName()並獲取onCreate()中的值而不是構造函數。

如果它必須是最終的,您可能必須通過硬編碼來分配值;

+0

final字段無法在onCreate()中初始化。在構造函數之後調用onCreate(),這太遲了並導致錯誤。 – tos 2012-02-24 10:41:07

+0

我更喜歡它是最終的,以便在編譯時知道死代碼並從apk中完全刪除。 – tos 2012-02-24 10:43:06