2015-02-08 13 views
5

Ho una classe oggetto personalizzata ma che è implementata tramite un inteface, come posso incorporare in esso contenuti. Ho seguito e cercato su parceable, ma è solo per classe oggetto. es .: How can I make my custom objects Parcelable?aggiungendo parcelable a una classe di interfaccia per oggetti personalizzati

Voglio passare il mio elenco di oggetti a un'altra attività in Android.

codice

:

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(); 
} 

risposta

9

vostri interfacce personalizzate bisogno di extend Parcelable.

Le classi che implementano l'interfaccia personalizzata devono anche implementare l'interfaccia Parcelable, incluso lo CREATOR.

È quindi possibile aggiungere un oggetto che implementa l'interfaccia personalizzata a un Intent come questo:

intent.putExtra("thing", thing); 

o aggiungere un ArrayList contenente questi oggetti come questo:

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

Sulla ricezione fine, il Activity può estrarre gli oggetti dal Intent in questo modo:

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

o

ArrayList<Thing> things = intent.getParcelableArrayListExtra("things"); 
Problemi correlati