2015-02-08 13 views
5

Özel bir nesne sınıfım var ancak bu bir inteface aracılığıyla uygulanıyor, nasıl parceable içerebiliyor. Parceable hakkında takip ve araştırma yaptım, ancak sadece nesne sınıfı için. Örn: How can I make my custom objects Parcelable?Özel nesneler için bir arabirim sınıfına parcelable ekleme

Nesneler listemi Android'deki başka bir etkinliğe geçirmek istiyorum.

kodu:

public interface Projection { 

    interface Job { 
     @XBRead("./task") 
     List<Task> getTasks(); 

     @XBRead("./id") 
     String getid(); 

     @XBRead("./job_title") 
     String getjob_title(); 

     @XBRead("./job_description") 
     String getjob_description(); 

     @XBRead("./job_room") 
     String getjob_room(); 

     @XBRead("./status") 
     String getstatus(); 
    } 

    interface Task { 

     @XBRead("./task_id") 
     String gettask_id(); 

     @XBRead("./task_title") 
     String gettask_title(); 

     @XBRead("./task_description") 
     String gettask_description(); 

     @XBRead("./task_status") 
     String gettask_status(); 


    } 

    @XBRead("/root/job") 
    List<Job> getJobs(); 
} 

cevap

9

Size özel arayüzler extend Parcelable gerekir.

Özel arabiriminizi uygulayan sınıflar, CREATOR da dahil olmak üzere Parcelable arabirimini de uygulamalıdır.

Sonra böyle bir Intent için özel arabirim uygulama bir nesne ekleyebilirsiniz: alıcı üzerinde

ArrayList<Thing> things; 
intent.putParcelableArrayListExtra("things", things); 

: Bir ArrayList bunlar böyle nesneleri içeren eklemek

intent.putExtra("thing", thing); 

veya Son olarak, Activity, Intent'daki nesneleri şu şekilde çıkarabilir:

Thing thing = intent.getParcelableExtra("thing"); 

veya

ArrayList<Thing> things = intent.getParcelableArrayListExtra("things"); 
İlgili konular