2011-12-14 26 views
6

AIDL aracılığıyla bir arabirimi istemci uygulamaları ile paylaşmak istiyorum. Derleme zamanı hataları alıyorum. Kod parçacığı geçerli: -AIDL arabirimlerinde miras kullanmak mümkün mü?

interface ChildListener extends ParentListener { 

    public void onUpdate(Class1 c1); 
} 

AIDL Seti (aynı pakette Tümü) ->

ChildListener.aidl - Yukarıdaki kodu içerir.

Class1.aidl - Sınıf1'i bildirilebilir olarak bildirir. Sınıf1'in tanımı parcelable uygular.

ParentListener.aidl - ParentListener'ı Bildirir.

Hatalar ->

I (derleme yaparken servisi) zamanı hataları derleme alıyorum

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

Biz AIDL arayüzlerinde miras kullanamıyorum görünüyor? Yoksa burada bir şey özlemişim. Herhangi bir işaretçi takdir edilecektir.

Saygılarımızla

+0

Birisi daha önce böyle bir hatayla karşılaştı mı? – Robin

cevap

2

Sen AIDL arayüzünü bildirirken uzatmak kullanamazsınız. Aidl arayüzü özel formattadır. Hatta java arabirim beyanına karşılık gelmez.

Ne yapmak istediğinizi belirlerseniz, sorunu nasıl çözeceğinizi belirtmeye çalışacağız.

+0

Evet, yardım arabirimleri kalıtımayı desteklemiyor. Bunu anladım. Cevap için teşekkürler. Yardımı kullanmak isteyen herkes için ---> 1). veri sınıfları için, bir sınıf ayrıştırılabilir olduğunda, writeToParcel ve statik CREATOR alanlarında ana veri üyelerini kullanabilirsiniz. 2). Arabirimler için, veri sınıflarını mümkün olan en basit şekilde paylaşmak için mekanizmayı açığa çıkarmak için tüm kalıtımı (eğer var olan tasarımı yardımda yeniden kullanmaya çalışıyorsanız) bırakın. – Robin

İlgili konular