दिलचस्प पोस्ट
IE9 + में CSS3 एनिमेशन का उपयोग करना फ़्रेम के लिए अजगर टंकिनर स्क्रॉलबार डेटाफ़्रेम कॉलम प्रकार को स्ट्रिंग से डेटटाइम में कनवर्ट करें अपनी खुद की आयात किए बिना सिस्टम ध्वनि बजाना Div की सामग्री बदलें – jQuery स्ट्रिंग में उपस्ट्रिंग के nth घटना बदलें एकाधिक फ़ील्ड्स द्वारा ऑब्जेक्ट्स की तुलना कैसे करें अजगर में जन्म तिथि से आयु जावास्क्रिप्ट में, मैं कैसे "इतिहास" को वापस "स्पष्ट" कर सकता हूं? डेटाटाहेबल को परिभाषित क्यों किया गया है: = ओवरलोडिंग के बजाय <-? CUDA डिवाइस पर एक स्ट्रिंग युक्त पॉइंटर्स कॉपी करना पिकासो फाइल सिस्टम से छवि लोड करें हटाए जाने से पहले एक पुष्टिकरण संदेश कैसे दिखाना है? कस्टम वैधीकरण सरल टेम्पलेट Asp.net MVC 3 JUnit XML स्वरूप विनिर्देश जो हडसन का समर्थन करता है

कैसे एक गतिविधि से दूसरे में ArrayList <CustomeObject> पास करें?

मैं एक गतिविधि से निम्नलिखित ArrayList भेजना चाहता हूं, कृपया मदद करें

ContactBean m_objUserDetails = new ContactBean(); ArrayList<ContactBean> ContactLis = new ArrayList<ContactBean>(); 

मैं इसके बाद के संस्करण में डेटा जोड़ने के बाद उपरोक्त arraylist भेज रहा हूँ

  Intent i = new Intent(this,DisplayContact.class); i.putExtra("Contact_list", ContactLis); startActivity(i); 

लेकिन मुझे इसे ठीक करने में समस्या हो रही है

 ArrayList<ContactBean> l1 = new ArrayList<ContactBean>(); Bundle wrapedReceivedList = getIntent().getExtras(); l1= wrapedReceivedList.getCharSequenceArrayList("Contact_list"); 

इस बिंदु पर मुझे यह त्रुटि मिल रही है:

 Type mismatch: cannot convert from ArrayList<CharSequence> to ArrayList<ContactBean> 

मेरे संपर्क बीन वर्ग सीरियलजबल को लागू करता है कृपया यह भी बताएं कि हमें सीरिजलाज करने योग्य इंटरफ़ेस को कार्यान्वित करना क्यों है।

Solutions Collecting From Web of "कैसे एक गतिविधि से दूसरे में ArrayList <CustomeObject> पास करें?"

आप एक ArrayList<E> उसी तरह से पारित कर सकते हैं, यदि E प्रकार Serializable

आप स्टोर करने के लिए Intent के putExtra (String name, Serializable value) को कॉल करेंगे, और पुनः प्राप्त करने के लिए getSerializableExtra (String name) प्राप्त करेंगे।

उदाहरण:

 ArrayList<String> myList = new ArrayList<String>(); intent.putExtra("mylist", myList); 

अन्य गतिविधि में:

 ArrayList<String> myList = (ArrayList<String>) getIntent().getSerializableExtra("mylist"); 

पहली गतिविधि में ..

 ArrayList<ContactBean> fileList = new ArrayList<ContactBean>(); Intent intent = new Intent(MainActivity.this, secondActivity.class); intent.putExtra("FILES_TO_SEND", fileList); startActivity(intent); 

रिसीवर गतिविधि में:

 ArrayList<ContactBean> filelist = (ArrayList<ContactBean>)getIntent().getSerializableExtra("FILES_TO_SEND");` 

आपको अपने ContactBean वर्ग में पार्सलेबल की आवश्यकता होती है, मैंने आपके लिए एक उदाहरण रखा है:

 public class ContactClass implements Parcelable { private String id; private String photo; private String firstname; private String lastname; public ContactClass() { } private ContactClass(Parcel in) { firstname = in.readString(); lastname = in.readString(); photo = in.readString(); id = in.readString(); } @Override public int describeContents() { // TODO Auto-generated method stub return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(firstname); dest.writeString(lastname); dest.writeString(photo); dest.writeString(id); } public static final Parcelable.Creator<ContactClass> CREATOR = new Parcelable.Creator<ContactClass>() { public ContactClass createFromParcel(Parcel in) { return new ContactClass(in); } public ContactClass[] newArray(int size) { return new ContactClass[size]; } }; // all get , set method } 

और यह आपके कोड के लिए मिलते हैं और सेट करते हैं:

 Intent intent = new Intent(this,DisplayContact.class); intent.putExtra("Contact_list", ContactLis); startActivity(intent); 

द्रितीय श्रेणी:

 ArrayList<ContactClass> myList = getIntent().getParcelableExtra("Contact_list"); 

इस कोड का उपयोग ऐन्थिएयर गतिविधि को सरलीचलने के लिए करें ..

सबसे पहले हमारे संपर्क बीन serialize

 public class ContactBean implements Serializable { //do intialization here } 

अब अपने सरणी को पास करें ..

  Intent intent = new Intent(this,name of activity.class); contactBean=(ConactBean)_arraylist.get(position); intent.putExtra("contactBeanObj",conactBean); _activity.startActivity(intent);