0
在我的Android應用程序中,我將啓動器活動(稱爲MainActivity)存儲在MainActivity類中的靜態變量中; 我正在使用此靜態活動引用來獲取應用程序資源,首選項和其他信息;我的Android啓動器活動的靜態引用變爲空
但有時,我發現應用程序崩潰,因爲對象引用爲空;
- 是否有任何原因導致對象引用變爲NULL?
- 如何防止這種類型的NullPointerException?
我的代碼:
MainActivity:
public class MainActivity extends Activity {
private static MainActivity sInstance = null;
public static MainActivity getInstance() {
return sInstance;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
sInstance = this;
// other code
}
}
Helper.java:
public static int getColor(int resID) {
return MainActivity.getInstance().getColor(resID);
}
您應該瞭解Activity的生命週期並使用'Context'來做你想做的事 – zzy 2015-03-25 04:55:38
在這種情況下,如果你的活動被破壞了,你如何確保這個實例不是null,你所遵循的方法是錯誤的。你不能保持一個活動的靜態參考 – 2015-03-25 04:55:40