मैं ListView
के लिए List<Contact>
उदाहरण को बदलना, बदलना/पुनर्स्थापित करना चाहता हूं; Contact
एक कस्टम सरणी एडाप्टर में दिखाने के लिए आइटम है।एंड्रॉइड - ListView एडाप्टर को सहेजने/पुनर्स्थापित करने का सही तरीका क्या है?
savingInstanceState.putSerializable(""+R.id.contactList, (Serializable)adapter.contacts());
फिर onRestoreInstanceState(Bundle savedInstanceState)
में मैं बहाल करने और अनुकूलक सेट:
List<Contact> contacts =
(List<Contact>)savedInstanceState.getSerializable(""+R.id.contactList);
ContactListAdapter adapter =
new ContactListAdapter((Context)this, android.R.layout.simple_list_item_1, contacts);
contactList.setAdapter(adapter);
adapter.notifyDataSetChanged();
यह यह करने के लिए सही रास्ता है
मैं सूची onSaveInstanceState(Bundle savingInstanceState)
गतिविधि विधि में अनुकूलक अंतर्निहित बचत कर रहा हूँ ?
क्या आपके पास बेहतर/बेहतर समाधान है?
धन्यवाद
कहाँ से डेटा हो रही है? यदि यह पहले से ही डिवाइस पर है, तो बस इसे फिर से पूछें। – alexanderblom
@ असंतुलन मैं असहमत हूं। जहां तक मैं देख सकता हूं कि यह किस प्रकार के धागे से एडाप्टर डेटा अपडेट/अपडेट करता है या नहीं। धन्यवाद। –
@alexanderblom डेटा इंटरनेट से आता है, लेकिन जब मैं अभिविन्यास बदलता हूं तो वे पहले से ही डिवाइस पर _are_ बदलते हैं; बस एडाप्टर के अंदर;) –