如何访问Android活动类实例字段?

时间:2010-12-20 19:47:32

标签: android

假设我有两个扩展Activity的类; ActivityA和ActivityB,它们在清单XML中正确声明。

现在,我想要做的是从ActivityA调用ActivityB并访问ActivityB的字段。

Intent myIntent = new Intent(MyApplication.getInstance().getApplicationContext(), ActivityB.getClass());
startActivityForResult(myIntent,0);

此代码不返回ActivityB的对象,我已尝试手动实例化,以便:

ActivityB actB=new ActivityB();

没关系,但如何将其传递给意图?

这可能吗?

1 个答案:

答案 0 :(得分:0)

  

现在,我想要做的是从ActivityA调用ActivityB并访问ActivityB的字段。

请不要。

首先,没有通过静态数据成员或通过服务传递活动,这是不可能的。

其次,您将创建垃圾收集问题,因为Android会想要销毁旧活动以释放内存,但在此之后,您仍然会从其他活动中获取对这些活动的引用,从而否定了工作。

第三,你有时会持有被破坏的其他活动的实例,原因与上一点相同 - 无论你喜不喜欢,Android都会继续销毁活动。

我相信你认为以这种方式解决的任何问题都可以通过其他方式解决。

修改

通常情况下,您通过传递给Intent的{​​{1}}上的Intent个附加内容将活动数据从ActivityA传递到ActivityB。 ActivityB有责任提取这些额外内容并对其进行操作。