के साथ Android ListView अद्यतन हे, मैं डेटाबेस में संग्रहीत प्रविष्टियों को प्रदर्शित करने के लिए एक सूचीदृश्य का उपयोग करता हूं। मेरे पास एक संपादन टेक्स्ट तत्व और एक बटन भी है जो डेटाबेस में EditText की सामग्री जोड़ता है। डेटाबेस सामग्री मैं SimpleCursorAdapter और निम्नलिखित रूप से भरें समारोह का उपयोग करने के दृश्य के लिए बाध्य करने के लिए:SimpleCursorAdapter
private void populate() {
cursor = dbAdapter.getAllItems();
startManagingCursor(cursor);
String[] from = new String[] { DBAdapter.KEY_TASK };
int[] to = new int[] { android.R.id.text1 };
// Now create an array adapter and set it to display using our row
cursorAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1, cursor, from, to);
list.setAdapter(cursorAdapter);
}
तो मैं एक नई प्रविष्टि कहा, बटन पर क्लिक करके मैं सूचीदृश्य ताज़ा करने के लिए चाहते हैं, लेकिन यह केवल पॉप्युलेट समारोह के साथ काम करता और सामान्य एडाप्टर फ़ंक्शन notifyDataSetChanged();
के साथ नहीं। क्या मेरे पास कोई बग है या क्या यह सूचीदृश्य रीफ्रेश करने का सही तरीका है?
बस उल्लेख करने के लिए: 'requery()' पहले से ही बहिष्कृत है। [दस्तावेज़ीकरण] (http://developer.android.com/reference/android/database/Cursor.html#requery()) इस पर एक स्पष्ट रिकॉर्ड है। – 87element
मुझे पता है, मैंने सही वाक्य नहीं दिया है, इसे फिर से लिखा है:> – Jack
हे जैक आपके उत्तर के लिए धन्यवाद, मैं देखता हूं कि मैं उपरोक्त कोड कहता हूं कि मेरा 'populate()' फ़ंक्शन मैं इसे कॉल करता हूं मेरी 'ऑनक्रेट()' विधि और यदि मैं "जोड़ें"-बटन पर क्लिक करता हूं। मैं केवल यह जानना चाहता था कि बेस एडाप्टर क्लास की सामान्य 'NotifyDataSetChanged()' विधि को कॉल करने के बजाय इस विधि को कॉल करने का यह एक अच्छा समाधान है या नहीं। –