假设我有两个扩展Activity的类; ActivityA和ActivityB,它们在清单XML中正确声明。
现在,我想要做的是从ActivityA调用ActivityB并访问ActivityB的字段。
Intent myIntent = new Intent(MyApplication.getInstance().getApplicationContext(), ActivityB.getClass());
startActivityForResult(myIntent,0);
此代码不返回ActivityB的对象,我已尝试手动实例化,以便:
ActivityB actB=new ActivityB();
没关系,但如何将其传递给意图?
这可能吗?
答案 0 :(得分:0)
现在,我想要做的是从ActivityA调用ActivityB并访问ActivityB的字段。
请不要。
首先,没有通过静态数据成员或通过服务传递活动,这是不可能的。
其次,您将创建垃圾收集问题,因为Android会想要销毁旧活动以释放内存,但在此之后,您仍然会从其他活动中获取对这些活动的引用,从而否定了工作。
第三,你有时会持有被破坏的其他活动的实例,原因与上一点相同 - 无论你喜不喜欢,Android都会继续销毁活动。
我相信你认为以这种方式解决的任何问题都可以通过其他方式解决。
修改强>
通常情况下,您通过传递给Intent
的{{1}}上的Intent
个附加内容将活动数据从ActivityA传递到ActivityB。 ActivityB有责任提取这些额外内容并对其进行操作。