У меня есть два занятия, одно из них называется 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, поэтому, пожалуйста, объясните это как можно проще.