我有两个活动,其中一个叫做MyActivity.我希望他们俩能够使用位于我们可能称之为MyClass的类中的函数.在MyClass中,我尝试使用intent来启动活动AnotherActivity.由于构造函数将上下文作为参数,我只是尝试在构造函数中存储活动的上下文,然后在尝试创建我的intent时使用它.
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();
但是,即使没有任何参数为null(使用简单的if语句检查),intent似乎为null并抛出NullPointerException.为什么它不起作用,我该怎么做才能解决问题?
我是AndroID和Java开发的新手,所以请尽可能地解释它.
解决方法:
cxt.startActivity(new Intent(cxt, AnotherActivity.class));
并且为了确保它的意图是NulL,而不是startActivity方法中的内部,你可以添加一些检查,即
Intent intent = new Intent(cxt, AnotherActivity.class);Log.d(toString(), "intent = " + intent.toString());cxt.startActivity(intent);
总结 以上是内存溢出为你收集整理的java – 从活动外的类启动意图全部内容,希望文章能够帮你解决java – 从活动外的类启动意图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)