2016-06-12 87 views
-1

讓我們假設我有這個小班:Parcelable類接口的成員變量

public Class A { 
    private int mA = 0; 
    private MyInterface mInterface = null; 

    public interface MyInterface { 
     public void test(); 
    } 

    public void setA(int a) { mA = a; } 
    public void setInterface(MyInterface i) { mInterface = i; } 
} 

確定。現在,我該如何做到這一點Parcelable? 將mA添加到Parcel很容易,但我怎麼可以包裹界面mInterface?我還沒有找到任何添加接口到Parcel的例子。

問候

更新: 我應該說,我已經能夠做到這一點作爲一個Seializable類。但我想知道如何在Parcelable中完成這項工作。對於Serializable

的例子可以在這裏找到:Android: How to send interface from one activity to another

+0

,因爲你不能做到這一點,你可以說'Parcelable'類支持 – pskink

+0

@pskink我還沒​​有看到'Parcelable'類支持什麼東西只添加的東西。另外,我不認爲我需要做的事情太異常。一個簡單的例子是將這個類的數組傳遞給一個'Fragment',其中每個數組成員使用不同的回調方法(不同的回調例程)。 – Afshin

+0

那麼爲什麼你需要'Parcelable'呢? – pskink

回答

0

由Parcelable接口就擴展您的界面。 E.g:

public interface MyInterface extends Parcelable 
+0

然後我需要如何編寫我的''WritetoParcel()'和'MyInterface(Parcel in)'來存儲和恢復這個成員接口? – Afshin

+0

正確,即使您只是實現自己的界面。 – Neo