मैं कर्सर लोडर (v4 संगतता लाइब्रेरी का उपयोग करके) का उपयोग करने के लिए एक एंड्रॉइड 2.2 एप्लिकेशन अपडेट कर रहा हूं और मैं समझने की कोशिश कर रहा हूं कि onLoadFinished
विधि प्रदाता क्यों प्रदाता नहीं है CursorLoader क्वेरी से जुड़े सामग्री में बदलाव को सूचित करता है।एंड्रॉइड कर्सरलोडर ContentProvider अधिसूचनाओं का जवाब नहीं दे रहा है
CursorLoader एक ग्राहक सामग्री प्रदाता की क्वेरी है। मेरे प्रदाता अधिसूचना यूआरआई सेट अपनी क्वेरी विधि में:
cursor.setNotificationUri(getContext().getContentResolver(), uri);
और उसके सम्मिलित/अपडेट करने में परिवर्तन को सूचित करता है/हटाना तरीके:
getContext().getContentResolver().notifyChange(uri, null);
मैं देख लिया है कि यूआरआई दोनों ही मामलों में समान है। पहले मैं एक ही सामग्री प्रदाता के साथ एक प्रबंधित प्रोग्राम का उपयोग कर रहा था और पूछताछ की गई सामग्री ठीक से अपडेट की गई थी, जो मुझे लगता है कि सामग्री प्रदाता शायद ठीक है।
मैंने LoaderCursorSupport उदाहरण देखा है और दिलचस्प बात यह है कि जब मैं इसे अपने नेक्सस वन पर चलाता हूं तो मुझे यह नहीं दिखता है कि मैं उन संपर्कों को प्रतिबिंबित करता हूं जो मैं नामों से संपर्क करता हूं (उदाहरण ऐप और संपर्क ऐप के बीच स्विचिंग)। इसे होना चाहिए? यदि हां, तो क्या कुछ अंतर्निहित समस्या है जिसके बारे में मुझे पता नहीं है?
क्या आप समस्या को पिन-पॉइंट करने में हमारी सहायता के लिए कुछ कोड प्रदान कर सकते हैं? –
को सक्षम करने से डिबगिंग मदद कर सकता है, 'LoaderManager.enableDebugLogging (सही)' –
डिबगिंग टिप के लिए धन्यवाद। मेरा क्लाइंट कोड अनिवार्य रूप से लोडर कर्सर समर्थन उदाहरण जैसा ही संदर्भित है। यह देखते हुए कि इस एक ही समस्या दर्शाती है, मैं गलत समझा कैसे CursorLoader यानी काम करने के लिए अगर मैं संपर्कों की सूची दिखाने के लिए है, तो पता पुस्तिका में संपर्क को संपादित समर्थन उदाहरण चलाने माना जाता है है यह द्वारा प्रदर्शित सूची में नहीं बदलना चाहिए उदाहरण ऐप? – siwatson