java– 从活动外的类启动意图

java– 从活动外的类启动意图,第1张

概述我有两个活动,其中一个叫做MyActivity.我希望他们俩能够使用位于我们可能称之为MyClass的类中的函数.在MyClass中,我尝试使用intent来启动活动AnotherActivity.由于构造函数将上下文作为参数,我只是尝试在构造函数中存储活动的上下文,然后在尝试创建我的intent时使用它.classMyC

我有两个活动,其中一个叫做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 – 从活动外的类启动意图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1118654.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存