0
说我有两个活动的活动,A
(有一个窗口)和B
(有一个视图嵌入A
,但它仍然是它自己的活动)。 这些活动位于不同的包中,但在同一过程中运行。android跨活动界面
将活动B
中的视图添加到A
中的视图中,该视图实现了界面I
。 I
的声明位于A
和B
之间共享的库中。
所以我认为我可以沿着这条的B
一个实例内的线路做一些事情:
viewInA = viewInB.getParent();
(I)viewInA;
但我得到一个铸造错误。有没有办法做到这一点?
做一点自省可以很容易地证明viewInA
实际上确实实施I
。当然,I
所在的包在两种活动中都是相同的。
由于这种情况我的一套限制是相当独特的;用intents进行简单的消息传递将不起作用。
我可以创建一个包装器,它使用内省来获取我知道存在的视图上的方法。但这很丑,我很懒。
你为什么要做你在第一段中描述的内容? – CommonsWare 2011-12-21 00:37:37
“B(有一种观点嵌入在A中,但仍然是它自己的活动)”我不确定你的意思是什么......另外,你怎么能有两个活跃的活动? – 2011-12-21 03:33:09