0
我希望全局變量在此應用程序中具有最高級別,因此無需在每次活動啓動時進行初始化。我在我的物理設備上測試我的應用程序,並得到nullPointerException。但在模擬器的成功! 日誌信息:使用應用程序類時獲取NullPointerException
03-15 15:36:54.851: E/AndroidRuntime(21550):
java.lang.RuntimeException: Unable to start activity ComponentInfo{panda.com.db/panda.com.db.IndexActivity}: java.lang.NullPointerException
03-15 15:36:54.851: E/AndroidRuntime(21550):
at panda.com.db.LittleRabitAssistants.<init>(LittleRabitAssistants.java:83)
03-15 15:36:54.851: E/AndroidRuntime(21550):
at panda.com.db.Global.Init(Global.java:23)
03-15 15:36:54.851: E/AndroidRuntime(21550):
at panda.com.db.IndexActivity.onCreate(IndexActivity.java:38)
全球類代碼:
public class Global extends Application{
private static LittleRabitAssistants assistants;
..
..
public void Init(){
this.assistantsDB = new DBAdapter(this,null,null);
this.assistants = new LittleRabitAssistants(this);
this.initLocaleFromDB();
}
}
public LittleRabitAssistants(Global globalVariable){
this.globalVariable=globalVariable;
..
if(globalVariable.getLocaleLanguage().equals("zh-CN")){
..
}else{
..
}
}
public class IndexActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
//get global application
Global globalApplication = (Global)this.getApplication();
//initialize the Assistants
globalApplication.Init();
pa = globalApplication.getAsisstents();
}
不過,最重要的是,這個應用程序成功模擬器中運行!
給在線路83 LittleRabitAssistants.java – 2012-03-15 07:56:50
的代碼,你可以張貼這條線沒有從IndexActivity 38。 java的 – 2012-03-15 07:57:37
有你在Android清單文件中提及您的應用程序類?像你的清單文件 的Android以下 應用標籤:名字=「yourpackgename.Global」 – 2012-03-15 08:01:57