我有一个接口IA和类B和C来实现它们.B和C都可以实现Parcelable.
然后我有一个棘手的部分:
D级有一个ArrayList< IA >.我也需要在插入B和C类arraylist.它们具有相同的结构,但"IS-A"关系不适用.
我需要将D从一个活动传递到另一个活动作为包裹.
我试着写(ArrayList<IA>) in.readSerializable但我得到了IOException.我知道如果IA不是一个接口问题很容易,但我似乎无法找到一个简单的解决方案.
有任何想法吗?
@SuppressWarnings("unchecked")
public D (Parcel in) {
list = new ArrayList<IA>();
(...)
list = (ArrayList<IA>) in.readSerializable
}
@SuppressWarnings("rawtypes")
public static final Parcelable.Creator CREATOR =
new Parcelable.Creator() {
public D createFromParcel(Parcel in) {
return new D(in);
}
public D[] newArray(int size) {
return new D[size];
}
};
public int describeContents() {
return 0;
} …Run Code Online (Sandbox Code Playgroud) 我有一个可排序的列表.在开始排序之前,我想检查该列表的所有元素是否有效.如果没有,请取消该活动并保持列表不变.
你可以在这里找到代码 http://jsfiddle.net/DZYW5/4/
当我使用它时,事件被取消,但元素被删除.
start: function (event, ui) {
if (!valid()) {
return false;
// it cancel's but the element is removed...
}
}
Run Code Online (Sandbox Code Playgroud)
也许我应该实现"beforeStart"事件?建议?