我有兩項活動,其中一項活動名爲MyActivity
。我希望他們都能夠使用位於課堂上的功能,我們可以稱之爲MyClass
。在MyClass
中,我嘗試使用意圖啓動活動AnotherActivity
。由於構造函數將上下文作爲參數,我只是試圖在構造函數中存儲活動的上下文,然後在嘗試創建我的意圖時使用它。從活動以外的課程啓動意圖
class MyClass {
private Context cxt;
MyClass(Context cxt) {
this.cxt = cxt;
}
startIntent() {
Intent intent = new Intent(cxt, AnotherActivity.class);
startActivity(intent); // this line throws a NullPointerException
}
}
在MyActivity
的代碼使用類如下所示:
myClassObject = new MyClass(MyActivity.this);
myClassObject.startIntent();
然而,甚至認爲沒有一個參數爲空(檢查了用一個簡單的if語句),intent
似乎爲空,並拋出NullPointerException
。爲什麼它不起作用,我能做些什麼來解決這個問題? 我對Android和Java開發相當陌生,所以請儘可能基本解釋它。
不錯,現在它按預期工作!在調用startActivity想法之前,我不明白爲什麼這個意圖應該是空的,而且它看起來並不像我運行程序時那樣。 – nip3o 2010-07-28 17:08:31