Cho đến nay tôi đã chugging cùng với Parcelable
đối tượng không có vấn đề, chủ yếu là vì tất cả các thành viên của họ là loại có writeX()
phương pháp liên kết với chúng. Ví dụ, tôi làm:Viết đối tượng thành viên tới bưu kiện
public String name;
private Foo(final Parcel in) {
name = in.readString(); }
public void writeToParcel(final Parcel dest, final int flags) {
dest.writeString(name); }
Nhưng bây giờ nếu tôi có một Bar
điều thành viên có được một chút dicey cho tôi:
public Bar bar;
private Foo(final Parcel in) {
bar = new Bar(); //or i could actually write some constructor for Bar, this is a demo.
bar.memberString = in.readString();
}
public void writeToParcel(final Parcel dest, final int flags) {
// What do I do here?
}
Tôi tiếp cận này một cách sai lầm? Tôi nên làm gì trong số writeToParcel
của mình cho thành viên bưu kiện Bar
s?
thêm vì một số có thể gây nhầm lẫn ở đây ** getClass(). GetClassLoader() ** có nghĩa là ** Bar.class.getClassLoader() ** – Juni
Tôi nên làm gì nếu lớp của mình được SDK cung cấp và không thể sửa đổi ? – Eido95