का उपयोग किए बिना कुछ सेकंड की देरी दें, मैं धागे का उपयोग किए बिना कुछ सेकंड की देरी कैसे दे सकता हूं। कुछ फ़ंक्शन जिसे मैं देरी देने के लिए कहीं भी कॉल कर सकता हूं। एंड्रॉइड अंतर्निहित फ़ंक्शन अत्यधिक पसंद किया जाता है। धन्यवादधागे
Q
धागे
8
A
उत्तर
18
एक हैंडलर का उपयोग करें, और पोस्टडेलेड() जैसी विधि का उपयोग करके या तो एक साधारण संदेश या इसे चलाने योग्य भेजें।
उदाहरण के लिए, संदेश और Runnables प्राप्त करने के लिए एक हैंडलर वस्तु को परिभाषित:
private Handler mHandler = new Handler();
को परिभाषित Runnable:
private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
// Do some stuff that you want to do here
// You could do this call if you wanted it to be periodic:
mHandler.postDelayed(this, 5000);
}
};
कारण Runnable ms
में एक निर्दिष्ट विलंब के बाद हैंडलर के लिए भेजा जाना :
mHandler.postDelayed(mUpdateTimeTask, 1000);
यदि आप से जटिलता नहीं चाहते हैं हैंडलर को रननेबल करने के लिए, आप विधि को sendEmptyMessageDelayed()
का उपयोग करके सबसे सरल सादगी के लिए भी एक संदेश भेज सकते हैं - यहां तक कि एक खाली संदेश भी। एक स्थिर संदर्भ
public final class Config {
public static MainActivity context = null;
}
से
0
कॉल देरी विधि MainActivity में:
@Override
protected void onCreate(final Bundle savedInstanceState) {
...
Config.context = this;
...
}
...
public void execute_method_after_delay(final Callable<Integer> method, int millisec)
{
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
try {
method.call();
}
catch (Exception e) {
}
}
}, millisec);
}
से किसी भी वर्ग का उपयोग कर स्थिर तरीकों:
private static void a_static_method()
{
int delay = 3000;
Config.context.execute_method_after_delay(new Callable<Integer>() {
public Integer call() {
return method_to_call();
}
}, delay);
}
public static Integer method_to_call()
{
// DO SOMETHING
संबंधित मुद्दे
- 1. धागे
- 2. धागे
- 3. धागे
- 4. धागे
- 5. हार्डवेयर धागे बनाम मुलायम धागे?
- 6. अग्रभूमि धागे बनाम पृष्ठभूमि धागे
- 7. आवेदन धागे बनाम सेवा धागे
- 8. एकाधिक धागे या धागे के साथ प्रक्रिया
- 9. जावा में धागे के भीतर धागे?
- 10. धागे (जावा)
- 11. मैं धागे
- 12. धागे कब?
- 13. क्यूटी धागे
- 14. अलग धागे
- 15. बाल धागे
- 16. एकाधिक धागे
- 17. वर्तमान धागे
- 18. अलग धागे
- 19. एकाधिक धागे
- 20. नेट ThreadPool कार्यकर्ता धागे और अतुल्यकालिक आईओ धागे
- 21. कर्नेल धागे और उपयोगकर्ता धागे के बीच क्या अंतर है?
- 22. 2 धागे या 1000 धागे सिंक्रनाइज़ करना क्या कठिन है?
- 23. URLForUbiquityContainerIdentifier: मुख्य धागे के बाहर धागे में बुलाया जाना चाहिए?
- 24. मुख्य धागे में धागे में unhandled अपवाद उठाओ?
- 25. WinDbg/एसओएस: से प्रबंधित धागे सहसंबंधी कैसे धागे System.Threading.Thread उदाहरणों
- 26. धागे से मुख्य धागे तक अपवाद भेज रहा है?
- 27. धागे फीफो पर इंतजार कर रहे धागे हैं?
- 28. किसी अन्य धागे से मुख्य धागे में कोड चलाना
- 29. कई धागे या जितना संभव हो उतने धागे?
- 30. किसी अन्य धागे से मुख्य धागे पर रन विधि
धन्यवाद! मैंने अभी 'नया हैंडलर() भेज दिया है। sendEmptyMessageDelayed (1, 2500); हालांकि मुझे नहीं पता कि' int क्या' मान – austin
का प्रतिनिधित्व करता है जो लिंक आप प्रदान करते हैं अब उपलब्ध नहीं है ... – amalBit
ठीक है, लिंक हटा दिया गया है। मुझे लगता है कि जवाब काफी आत्मनिर्भर है क्योंकि यह अभी भी है। – Trevor