0

我在 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 中创建一个构造函数,

私人 LaunchPage 启动页面;

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

然后我试图访问 MainActivity 的实例对象LaunchPage.Object.Method.

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

4

1 回答 1

1

我正在尝试访问在 MainActivity 的 LaunchActivity 中创建的实例对象。

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

要访问定义在LaunchActivityfrom上的静态数据成员MainActivity,只需使用LaunchActivity.nameOfYourStaticDataMember. 在这种情况下,那将是LaunchActivity.abcConnection.

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

所以我正在像这样在 MainActivity 中创建一个构造函数

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

于 2013-10-07T17:03:13.430 回答