[英]Access public void in another class from MainActivity (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.