簡體   English   中英

Android:無法從其他類訪問公共靜態函數或公共變量

[英]Android: Cannot access public static function or public variables from another class

這是“ MainActivity.java”中的聲明

private static String competition = null;

我創建了一個setter函數,為它增加了價值。

public static void setCompetition(String competition1) {
    competition = competition1;
}

我創建了一個getter函數,以從同一包中獲取另一個類中的值:

public static String getCompetition() {
    return competition;
}

但是,它返回null。

這是我嘗試在函數public void onReceive(Context context,Intent intent){

在類AlertNotify中,它擴展了BroadcastReceiver:

       final String competition = MainActivity.getCompetition();

我認為您沒有在任何地方調用setCompetition 要驗證這一點,請嘗試這段代碼-

public static void setCompetition(String competition1) {
    System.out.println("Set competition to "+competition1);
    competition = competition1;
}

如果您看不到任何打印的消息,則setCompetition沒有調用setCompetition 確保正在調用它。

這是我犯的錯誤:我正在調用基於網絡的異步任務,該任務需要幾秒鍾來檢索數據。 它在后台工作。

我正在調用另一個試圖訪問這些值的函數。 它甚至在異步任務可以運行之前就立即被觸發。 這就是為什么它返回null的原因。

異步任務未返回這些值。

最終,我將調用轉移到Async的postExecute方法中的另一個函數。

希望能對與我一樣犯同樣錯誤的人有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM