Tôi cần phải biết làm thế nào để làm cho một lớp bên trong Parcelable để các đối tượng của loại hình của nó có thể được truyền qua AIDL đến một dịch vụ từ xa. Tôi không thể tìm thấy bất kỳ thông tin nào về điều này.Làm thế nào để làm cho một lớp bên trong Parcelable
Đây là mã ví dụ về những gì tôi đang cố gắng thực hiện, nhưng nó không biên dịch vì CREATOR trong lớp Bar không thể tĩnh (tức là vì nó nằm trong lớp bên trong). Tôi không thể biến Bar thành một lớp bên trong tĩnh và tôi không thể di chuyển Bar ra ngoài lớp Foo (các phụ thuộc khác trong hệ thống). Tôi cũng cần phải biết làm thế nào tôi sẽ tham khảo các lớp học Bar từ bên trong một tập tin AIDL. Bất kỳ trợ giúp nào cũng được đánh giá rất cao.
public class Foo implements Parcelable
{
private int a;
public Foo()
{
}
public Foo(Parcel source)
{
this.a = source.readInt();
}
public int describeContents()
{
return 0;
}
public void writeToParcel(Parcel dest, int flags)
{
dest.writeInt(this.a);
}
public static final Parcelable.Creator<Foo> CREATOR
= new Parcelable.Creator<Foo>()
{
...
}
public class Bar implements Parcelable
{
private int b;
public Bar()
{
}
public Bar(Parcel source)
{
this.b = source.readInt();
}
public int describeContents()
{
return 0;
}
public void writeToParcel(Parcel dest, int flags)
{
dest.writeInt(this.b);
}
public static final Parcelable.Creator<Bar> CREATOR
= new Parcelable.Creator<Bar>()
{
...
}
}
}
Bạn có thể có một cái nhìn vào http://stackoverflow.com/questions/35923039/android-implementing-parcelable-inner-class này sẽ giúp bạn. – chaitanya
Hãy xem giải pháp này. Điều này sẽ giúp bạn http://stackoverflow.com/questions/35923039/android-implementing-parcelable-inner-class – chaitanya