क्या होगा अगर मेरे पास पहले से ही निष्पादन के तहत handler.postDelayed
धागा है और मुझे इसे रद्द करने की आवश्यकता है?handler.post को रद्द कैसे करें?
उत्तर
मैं पोस्ट रद्द करने के लिए ऐसा करता हूं, Android के अनुसार: removeCallbacks संदेश कतार में चलने योग्य रन के किसी भी लंबित पोस्ट को हटा देता है।
handler.removeCallbacks(runnableRunner);
या सभी संदेशों और कॉलबैक
handler.removeCallbacksAndMessages(null);
स्निपेट के साथ अधिक जानकारी: http://stackoverflow.com/questions/5885587/how-to-cancel-handler-in-code – Basher51
दूर करने के लिए आप runnable के संदर्भ रखने के लिए नहीं करना चाहते हैं का उपयोग करें, तो आप बस कह सकते हैं:
handler.removeCallbacksAndMessages(null);
The official documentation कहते हैं :
... यदि टोकन शून्य है, अल एल कॉलबैक और संदेश हटा दिए जाएंगे।
मेरे पास एक उदाहरण था जहां मुझे एक पोस्ट रद्द करने की आवश्यकता थी, जबकि यह चलने की प्रक्रिया में था, इसलिए ऊपर दिया गया कोड मेरे उदाहरण के लिए काम नहीं करता था। मैं जो कर रहा था वह मेरे रननेबल के अंदर एक बूलियन चेक था, इसलिए जब दिए गए समय के बाद कोड निष्पादित किया गया था, तो उस समय यह उस पर आधारित होगा कि उस समय बुलियन मूल्य क्या था और यह मेरे लिए काम करता था।
public static Runnable getCountRunnable() {
if (countRunnable == null) {
countRunnable = new Runnable() {
@Override
public void run() {
if (hasCountStopped)
getToast("The count has stopped");
}
};
}
return countRunnable;
}
FYI करें - मेरी गतिविधि में नष्ट मैं अन्य डेवलपर्स, handler.removecallback और हैंडलर = अशक्त द्वारा सुझाए गए कोड का उपयोग करते हैं, कोड को साफ रखने के लिए हैंडल को रद्द करने के लिए और सुनिश्चित करें कि सबकुछ हटा दिया जाएगा।
- 1. jquery.load() को कैसे रद्द करें?
- 2. UIWebView को कैसे रद्द करें?
- 3. handler.post (runnable) does not को हमेशा एंड्रॉयड
- 4. एसिंक्रोनस कॉल को कैसे रद्द करें?
- 5. प्रभाव: सिंक ऑपरेशन को कैसे रद्द करें?
- 6. कोड में हैंडलर को कैसे रद्द करें?
- 7. Node.js vm: Script.runInNewContext() को कैसे रद्द करें?
- 8. स्प्रिंग टाइमर निष्पादन को कैसे रद्द करें
- 9. स्थगित MoveFileEx ऑपरेशन को कैसे रद्द करें?
- 10. कार्य की निरंतरता को कैसे रद्द करें?
- 11. एक AlertDialog.Builder को कैसे रद्द करें
- 12. आईओसी फ्रेमवर्क कार्यान्वयन को कैसे रद्द करें
- 13. पृष्ठभूमि कार्यकर्ता को रद्द करें
- 14. JDialog रद्द करें बटन
- 15. रद्द करें NamedPipeClientStream.Read कॉल
- 16. UISearchBar रद्द करें बटन
- 17. UIAlertView रद्द करें बटनटन
- 18. UISearchBar रद्द करें बटन
- 19. UITextField कीबोर्ड को रद्द करें बटन जोड़ना
- 20. ओके/रद्द करें
- 21. jQuery एकाधिक ईवेंट हैंडलर - कैसे रद्द करें?
- 22. CanStationTaskAsync विधि को रद्द करने के लिए CancellationTokenSource कैसे संलग्न करें और async कॉल को रद्द करें?
- 23. एंड्रॉइड काउंटरडाउन टाइमर को कैसे रोकें/रद्द करें
- 24. टर्मिनल में 'गिट लॉग' कमांड को कैसे रोकें/रद्द करें?
- 25. कुछ शर्त में पॉपस्टेट को कैसे रद्द करें
- 26. jQuery ड्रॉपपेल के लिए ड्रॉप कार्रवाई को कैसे रद्द करें?
- 27. एक संदर्भ मेनू खोलने की घटना को कैसे रद्द करें?
- 28. टाइमर के मौजूदा शेड्यूल को कैसे रद्द करें
- 29. jQuery AJAX अनुरोध को रद्द/निरस्त कैसे करें?
- 30. तुरंत एक कार्यरत पृष्ठभूमि कार्यकर्ता को कैसे रद्द करें?
पूरा धागा या सिर्फ संदेश? –
पूरा धागा। – Eugene
[बाहर निकलें] (http://developer.android.com/reference/android/os/HandlerThread.html#quit()) यह। –