我在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;
}
然后我尝试以LaunchPage.Object.Method.
但是在执行时我收到以下错误 - 来自:java.lang.IllegalStateException:无法获取com.example.XXX的包信息;是没有安装包?
答案 0 :(得分:1)
我正在尝试访问在MainActivity中的LaunchActivity中创建的实例对象。
LaunchActivity
中没有“实例对象”。您在LaunchActivity
。
要从LaunchActivity
访问MainActivity
上定义的静态数据成员,只需使用LaunchActivity.nameOfYourStaticDataMember
即可。在这种情况下,那将是LaunchActivity.abcConnection
。
在这种情况下,使用静态数据成员可能并不明智,因为根据ABConnection
的实现,您可能会泄漏内存,尤其是LaunchActivity
的实例。
所以我在MainActivity中创建一个像
这样的构造函数
该构造函数是不必要的,将阻止您的应用程序工作。请删除它。