gpt4 book ai didi

java - 如何将对主 Activity 的引用传递到每个后续 Activity 的构造函数中

转载 作者:行者123 更新时间:2023-12-01 14:02:38 25 4
gpt4 key购买 nike

我在 LaunchActivity 中有一个类,我在 OnCreate() 中初始化一个对象。现在单击 launchActivity 中的按钮将创建 MainActivity 。我正在尝试访问 MainActivity 中的 LaunchActivity 创建的实例对象。

这是LaunchActivity

LaunchActivity extends Activity
{
public static ABConnection abcConnection;
protected void onCreate(Bundle savedInstanceState) {
abcConnection = new ABConnection(this);
}

public void Button_Click(View v)
{
Intent myintent=new Intent(LaunchPage.this,MainActivity.class);
startActivity(myintent);
}

所以我在 MainActivity 中创建一个构造函数,如下所示,

私有(private)LaunchPage启动页面;

public MainActivity(LaunchPage launchpage)
{
this.launchpage=launchpage;
}

然后我尝试以 LaunchPage.Object.Method 的形式访问 MainActivity 的实例对象。

但是在执行时我收到以下错误 - 原因是:java.lang.IllegalStateException:无法获取 com.example.XXX 的包信息;软件包没有安装吗?

最佳答案

I am trying to access instance object created in LaunchActivity in MainActivity.

您在 LaunchActivity 中没有“实例对象”。您在 LaunchActivity 中有一个静态数据成员。

要从 MainActivity 访问 LaunchActivity 上定义的静态数据成员,只需使用 LaunchActivity.nameOfYourStaticDataMember。在本例中,这将是 LaunchActivity.abcConnection

在这种情况下,使用静态数据成员可能并不明智,因为根据 ABConnection 的实现,您可能会泄漏内存,特别是您的 LaunchActivity 实例.

So i am creating a constructor in MainActivity like this

该构造函数是不必要的,并且会阻止您的应用程序运行。请删除它。

关于java - 如何将对主 Activity 的引用传递到每个后续 Activity 的构造函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19230354/

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