gpt4 book ai didi

java - 从 Activity 外的类(class)发起 Intent

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:09:56 26 4
gpt4 key购买 nike

我有两个 Activity ,其中一个叫做 MyActivity。我希望它们都能够使用位于我们可以称为 MyClass 的类中的函数。在 MyClass 中,我尝试使用 Intent 启动 Activity AnotherActivity。由于构造函数将上下文作为参数,我只是尝试将 Activity 的上下文存储在构造函数中,然后在尝试创建 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();

然而,即使认为没有任何参数为空(使用简单的 if 语句检查),intent 似乎为空并且抛出 NullPointerException。为什么它不起作用,我该怎么做才能解决这个问题?我对 Android 和 Java 开发还很陌生,所以请尽可能简单地解释一下。

最佳答案

cxt.startActivity(new Intent(cxt, AnotherActivity.class));

并确保它的 Intent 是 NULL,而不是 startActivity 方法中的内部内容,您可以添加一些检查,即

Intent intent = new Intent(cxt, AnotherActivity.class);
Log.d(toString(), "intent = " + intent.toString());
cxt.startActivity(intent);

关于java - 从 Activity 外的类(class)发起 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3354768/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com