android跨活动接口

android跨活动接口,android,android-activity,Android,Android Activity,假设我有两个活动,A(有一个窗口)和B(在A中嵌入了一个视图,但仍然是它自己的活动)。 这些活动位于不同的包中,但在同一进程中运行 活动B中的视图添加到实现接口I的A中的视图中。I的声明位于a和B之间共享的库中 因此,我假设我可以在B的一个实例中按照这一思路做一些事情: viewInA = viewInB.getParent(); (I)viewInA; 但我有一个铸造错误。有没有办法让这一切顺利进行 做一点内省可以很容易地证明viewInA实际上实现了I。当然,I所在的包对于这两个活动都是相

假设我有两个活动,
A
(有一个窗口)和
B
(在
A
中嵌入了一个视图,但仍然是它自己的活动)。 这些活动位于不同的包中,但在同一进程中运行

活动
B
中的视图添加到实现接口
I
A
中的视图中。
I
的声明位于
a
B
之间共享的库中

因此,我假设我可以在
B
的一个实例中按照这一思路做一些事情:

viewInA = viewInB.getParent();
(I)viewInA;
但我有一个铸造错误。有没有办法让这一切顺利进行

做一点内省可以很容易地证明
viewInA
实际上实现了
I
。当然,
I
所在的包对于这两个活动都是相同的

我的一套限制由于情况比较特殊;用意图传递简单的消息是行不通的


我可以创建一个包装器,它使用内省来获取我知道存在的视图上的方法。但这很难看,而且我很懒。

除此之外,如果Java中出现强制转换错误,那是因为viewInA实际上没有实现I。请注意getParent()返回一个实现ViewParent的类。。。(即,我是否扩展ViewParent??)


不过,您可以设置断点,并在运行时检查viewInA的类型

你为什么要做你在第一段中描述的事情?“B(在a中嵌入了一个视图,但它仍然是自己的活动)”我不确定你这是什么意思。。。另外,你怎么能有两个积极的活动?