अगर मैं वही श्रोता वस्तु जोड़ता हूं
private ValueEventListener dataChangedListener = new ValueEventListener() ...
mQery.addValueEventListener(dataChangedListener);
mQery.addValueEventListener(dataChangedListener);
यह वैसा ही होगा जैसे मैंने इसे एक बार जोड़ा? और अगर मैं इसे हटाना चाहता हूं तो मुझे बस कॉल करना चाहिए
mQery.removeEventListener(dataChangedListener);
या नहीं?
2 जवाब
डेटाबेस में कुछ डेटा को अपडेट करके और यह देख कर कि आपका onDataChanged मजबूत> बुलाया जाता है या नहीं।
इस बारे में कि क्या यह एक बार जोड़ने जैसा ही होगा: मेरा एक ही प्रश्न था, इसलिए मैंने फायरबेस की जाँच की स्रोत। जहां तक मैं समझता हूं (मैं किसी भी तरह से इसमें कोई विशेषज्ञ नहीं हूं), फायरबेस श्रोता सूची में एक नई वस्तु जोड़ता है लेकिन यह उसी श्रोता को इंगित करता है जो पहले जोड़ा गया था।
आप स्रोत स्वयं।
संपादित करें: स्पष्टीकरण के लिए, मैं कुछ स्क्रीनशॉट जोड़ूंगा ...
यह तब होता है जब मैं एक ही बाल श्रोता को दो बार पंजीकृत करता हूं। onChildAdded को दो बार कॉल किया जाता है और दूध 2x के साथ सूची को पॉप्युलेट करता है।
नहीं, यह वही नहीं होगा। यदि आपके पास आपके फायरबेस डेटाबेस में एक ही स्थान की ओर इशारा करते हुए कई संदर्भ हैं, और आपके पास उन सभी संदर्भों पर श्रोता हैं, तो उस स्थान पर डेटा में कोई भी परिवर्तन सभी श्रोताओं को ट्रिगर करेगा।
यदि आप नहीं चाहते कि कोई श्रोता किसी परिवर्तन को ट्रिगर करे, तो इसे उस संदर्भ से हटा दें जहां आपने इसे पहले स्थान पर जोड़ा है। जहां तक मुझे पता है, सशर्त रूप से इंगित करने का कोई तरीका नहीं है कि किसी अन्य शर्त के आधार पर श्रोता को ट्रिगर किया जाना चाहिए - आप बस उन्हें जोड़ और हटा दें।
संबंधित सवाल
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।