我有两项活动,其中一项活动名为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