5

मेरे पास एक कस्टम ऑब्जेक्ट क्लास है लेकिन इसे एक इंटीफेस के माध्यम से कार्यान्वित किया गया है, मैं इसमें कैसे पता लगा सकता हूं। मैंने पीछा किया है और पता लगाने योग्य है, लेकिन यह केवल ऑब्जेक्ट क्लास के लिए है। जैसे: How can I make my custom objects Parcelable?कस्टम ऑब्जेक्ट्स

मैं एंड्रॉयड में एक और गतिविधि के लिए अपनी वस्तु सूची पास करना चाहते हैं।

कोड:

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

उत्तर

9

आपका कस्टम इंटरफेस extend Parcelable की जरूरत है।

आपके कस्टम इंटरफ़ेस को लागू करने वाले वर्गों को इंटरफेस को CREATOR समेत कार्यान्वित करने की आवश्यकता है।

फिर आप एक Intent इस तरह करने के लिए अपने कस्टम इंटरफ़ेस को लागू करने एक वस्तु जोड़ सकते हैं: जोड़ने के एक ArrayList इस तरह इन वस्तुओं से युक्त

intent.putExtra("thing", thing); 

या:

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

प्राप्त करने पर अंत, ActivityIntent से ऑब्जेक्ट निकालें इस तरह:

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

या

ArrayList<Thing> things = intent.getParcelableArrayListExtra("things"); 
संबंधित मुद्दे