2011-12-14 47 views
6

我想通过AIDL与客户端应用程序共享一个接口。我一直在编译时错误。代码段是: -是否可以在AIDL接口中使用继承?

interface ChildListener extends ParentListener { 

    public void onUpdate(Class1 c1); 
} 

AIDL集(所有在同一封装) - >

ChildListener.aidl - 包含上述代码。

Class1.aidl - 将Class1声明为parcelable。 Class1的定义实现了parcelable。

ParentListener.aidl - 声明ParentListener。

错误 - >

我收到编译时错误(编译时服务)

1. syntax error don't know what to do with "extends" 
2. syntax error don't know what to do with "ParentListener " 

看来,我们不能在AIDL接口使用继承?或者是我在这里失去了一些东西。任何指针将不胜感激。

最好的问候

+0

有人遇到过这样的错误吗? – Robin 2011-12-15 10:28:17

回答

2

当你声明aidl接口时,你不能使用extend。 Aidl接口具有特殊的格式。它甚至不对应于java接口声明。

如果您指定要执行的操作,我们将尝试指出您如何解决问题。

+0

是的,aidl接口不支持继承。我明白了。感谢你的回答。对于任何想要使用aidl ---> 1)的人。对于数据类,当您创建类parcelable时,您可以在writeToParcel&static CREATOR字段中处理父数据成员。 2)。对于接口,放弃所有继承(如果您试图在aidl中重用现有设计)来公开机制以尽可能最简单的方式共享数据类。 – Robin 2012-01-10 17:19:03