2016-06-12 151 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