24 AĞUSTOS 2011, ÇARŞAMBA
Nasıl benim özel nesneler Parcelable olmak yapabilirim?
Benim nesneleri Parcelable olmak için çalışıyorum. Ancak, özel nesneler ve bu nesneleri yaptım diğer özel nesneler arraylist özellikleri var.
Bu yapabileceğim en iyi yolu ne olurdu?
CEVAP
24 AĞUSTOS 2011, ÇARŞAMBA
Bu bazı örnekler bulabilirsinizhere, here (code is taken here),
Bu POJO sınıfı oluşturabilirsiniz, ancak bazı ekstra kod Parcelable yapmak için eklemek gerekir. Bu uygulama bir göz atın.
public class Student implements Parcelable{
private String id;
private String name;
private String grade;
// Constructor
public Student(String id, String name, String grade){
this.id = id;
this.name = name;
this.grade = grade;
}
// Getter and setter methods
.........
.........
// Parcelling part
public Student(Parcel in){
String[] data = new String[3];
in.readStringArray(data);
this.id = data[0];
this.name = data[1];
this.grade = data[2];
}
@Оverride
public int describeContents(){
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeStringArray(new String[] {this.id,
this.name,
this.grade});
}
public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
public Student createFromParcel(Parcel in) {
return new Student(in);
}
public Student[] newArray(int size) {
return new Student[size];
}
};
}
Bu sınıfı oluşturduktan sonra, kolayca bu gibi Niyet ile bu sınıfın nesneleri geçiş ve hedef faaliyeti bu nesne kurtarabilirsiniz.
intent.putExtra("student", new Student("1","Mike","6"));
Burada, öğrenci paket veri unparcel gerektirecek olan anahtardır.
Bundle data = getIntent().getExtras();
Student student = (Student) data.getParcelable("student");
Bu örnekte, yalnızca Dize türleri gösterir. Ama, istediğiniz her türlü veri parsel. Bunu bir deneyin.
EDİT: Başka bir example, Rukmal Dias tarafından önerilen.
Bunu Paylaş:
Nasıl özel nesneler ile bir NSMutableA...
Bir film şeridi içinde, nasıl birden f...
Nasıl PHP 5.2.8 iki DateTime nesneler ...
Nasıl TÜM özel durumları genel# MVC4 C...
Nasıl benim GUI Windows yazı tipi Ölçe...