我有一个可以从2个不同的活动中访问的课程。在这个类中,有一个方法可以创建一个启动不同活动的意图。我将上下文从一个活动传递给类,以便在几个方法中使用。其他方法似乎可以很好地完成Toast。一旦它意图发生到达方法,我就会崩溃。根据Logcat,它发生在设置目标上下文的地方(212)。 211处的错误是创建新意图的地方。
SplashActivity
Parsers parsers=new Parsers(SplashActivity.this);
parsers.kickoff();
Parsers class
public class Parsers extends Activity {
Context context;
public Parsers(Context context) {
this.context = context;
}
public void kickoff(){
//do stuff here that leads to goHome
}
public void goHome() {
Log.i("SCROLLS ", "IN GO HOME");
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
}
我知道我可以为每个活动名称创建一个构造函数,例如
SplashActivity splashactivity;
public Parsers(SplashActivity splashactivity) {
this.splashactivity= splashactivity;
}
OtherActivity otheractivity;
public Parsers(OtherActivity otheractivity) {
this.otheractivity= otheractivity;
}
由于意图上下文需要根据使用该类的活动而改变,因此这样做很少。我没有正确地将上下文传递给班级或者只是遗漏了其他东西吗?
Logcat Line:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.app.ActivityThread$ApplicationThread android.app.ActivityThread.getApplicationThread()' on a null object reference
at com.yaadspice.myapp.Model.Parsers.goHome(Parsers.java:212)
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference
at com.yaadspice.epgtv.Model.Parsers.goHome(Parsers.java:211)