मैं Handler
की postDelayed
विधि का उपयोग कर रहा है ताकि समय की निश्चित राशि के बाद कोई कार्रवाई करने के:हैंडलर पोस्ट देरी के समय को कैसे बदलें/रीसेट करें?
private static int time_to_wait = 2000;
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
// Make Action
}
}, time_to_wait);
अब प्रतीक्षा समय मैं की वजह से शेष मिलीसेकंड का मूल्य बदलना चाहते हैं के बीच में
कुछ प्रोसेसिंग परिणाम, मान लें कि अब यह 1000 एमएस का इंतजार कर रहा है और मैं इसे से फिर से गिनना शुरू करना चाहता हूं, इसलिए, मैंने time_to_wait
मान 2000 तक सेट किया है, लेकिन यह इसे गिनती में नहीं लेता है क्योंकि यह केवल लेता है var value (2000) औरको बदलने के बावजूद उस समय प्रतीक्षा करता हैकिसी भी अन्य मूल्य के लिए मूल्य।
मुझे विश्वास करने योग्य चलाने के लिए आपको रद्द करना और दोबारा पोस्ट करना होगा। [StackOverflow] [1] [1]: http://stackoverflow.com/questions/7407242/how-to-cancel-handler-postdelayed – Kaediil
@Kaediil ऐसा नहीं होगा कि मेरे मामले में कुशल –
'int' एक आदिम प्रकार है और मूल्य से पारित किया जाता है - मान की प्रतिलिपि बनाई जाती है, और किसी भी तरह मूल आदिम चर से जुड़ा नहीं है। यदि आप कुछ विधि में 'int' चर पारित करते हैं, और फिर उस चर को कहीं और (उस विधि के बाहर) बदलने की कोशिश करें, तो चर में परिवर्तन इस विधि में दिखाई नहीं देंगे, क्योंकि इसमें इसकी चर की – Drew