2009-10-08 10 views
14

मैं जानना चाहता था कि ListActivity को रीफ्रेश कैसे करें जब मैं इसमें डेटा बदलूं/जोड़ूं।डेटा सूची बदलते समय एंड्रॉइड लिस्ट एक्टिविटी अपडेट करें?

मैं पहली बार सोचा कि ListAdapter पता होगा जब सूची में परिवर्तन है, लेकिन जब मैं सूची में तत्वों को शामिल किया है वहाँ ListActivity पर कोई अद्यतन है, केवल जब मैं ListActivity को बंद करने और इसे फिर से खोलने फिर मैं परिवर्तन होते हैं देखते हैं।

इसलिए मैंने किसी भी विधि की खोज की: update(), refesh() या ऐसा कुछ भी नहीं, लेकिन कोई नहीं है। ऐसा लगता है कि मुझे अवधारणा नहीं मिली है, क्या कोई मेरी मदद कर सकता है?

उत्तर

22

यदि आप ArrayAdapter का उपयोग कर रहे हैं, तो एडाप्टर के माध्यम से सूची की सामग्री में हेरफेर करें - अंतर्निहित सूची को स्पर्श न करें। , insert(), और remove()ArrayAdapter पर विधियां हैं।

यदि आप CursorAdapter का उपयोग कर रहे हैं, तो Cursor पर requery() चलाएं।

+0

ठीक धन्यवाद कोई मुझे समझ में यह कैसे –

+0

मैं ArrayAdapter का उपयोग काम करता है और मैं रिकॉर्ड को अपडेट करना चाहिए। मैं ListView को रीफ्रेश कैसे कर सकता हूं? –

+3

यह, ज़ाहिर है, अब अनुशंसित नहीं है, क्योंकि यूआई थ्रेड पर 'requery() 'किया जाता है। यदि आप इस पोस्ट में ठोकर लगते हैं, तो आपको इसके बजाय 'लोडर' का उपयोग करने पर विचार करना चाहिए। –

7

ArrayAdapter का प्रयास करें:
Google docs link

+2

बस एक नोट, अगर एडाप्टर से जुड़ा कोई पर्यवेक्षक नहीं है तो यह काम नहीं करता है। – Waltsu

0

notifyDataSetChanged हो सकता है कि आप इस setListAdapter(listAdapter);

संबंधित मुद्दे