मेरे पास एक बटन है और जब इसे दबाया जाता है तो यह एक ऑडियो फ़ाइल चलाता है। मैं बटन पर 5 सेकंड देरी डालना चाहता हूं ताकि उपयोगकर्ता बटन को मैश न करें और ध्वनि को ओवर-ओवर चलाएं। मुझे लगता है कि इसे धक्का देने के बाद 5 सेकेंड के लिए बटन को वास्तव में अक्षम करने के लिए मैं वास्तव में क्या चाहता हूं। क्या किसी को भी यह करना आता है?एंड्रॉइड: बटन के बाद देरी कैसे डाली जाती है?
7
A
उत्तर
29
बटन के लिए अपने onClickListener में:
myButton.setEnabled(false);
Timer buttonTimer = new Timer();
buttonTimer.schedule(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
myButton.setEnabled(true);
}
});
}
}, 5000);
यह जब क्लिक बटन को निष्क्रिय कर देगा, और 5 सेकंड के बाद फिर से सक्षम।
यदि क्लिक ईवेंट को कक्षा में संभाला जाता है जो एक गतिविधि में बजाए व्यू को बढ़ाता है तो वही काम करता है लेकिन runOnUiThread
post
के साथ प्रतिस्थापित करता है।
+0
पूरी तरह से काम करता है! आपका बहुत बहुत धन्यवाद – fargoh
2
यहां आप जाते हैं।
((Button) findViewById(R.id.click))
.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
((Button) findViewById(R.id.click)).setEnabled(false);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
((Button) findViewById(R.id.click))
.setEnabled(true);
}
}, 5000);
}
});
18
आप अपने बटन को अक्षम कर सकते हैं, फिर अपने बटन पर postDelayed विधि का उपयोग करें।
myButton.setEnabled(false);
myButton.postDelayed(new Runnable() {
@Override
public void run() {
myButton.setEnabled(true);
}
}, 5000);
यह टाइमर समाधान के लिए समान है, लेकिन यह बेहतर विन्यास परिवर्तन संभाल सकता है (उदाहरण के लिए उपयोगकर्ता फोन बारी बारी से अगर)
संबंधित मुद्दे
- 1. Jquery देरी के बाद
- 2. एंड्रॉइड: बटन के बाद कीबोर्ड छुपाएं
- 3. चेतावनी: डाली बढ़ जाती है की आवश्यकता संरेखण
- 4. एंड्रॉइड में बटन दबाए जाने के बाद कुछ देरी के साथ एक अलग गतिविधि कैसे शुरू करें?
- 5. देरी के बाद मैं कस्टम फ़ंक्शन कैसे चेन करूं?
- 6. क्यों नामांकन के परिणामस्वरूप jQuery बटन .change() रेडियो बटन पर आग नहीं डाली गई है?
- 7. स्थिर डाली बनाम गतिशील डाली
- 8. एसएसआरएस - उपयोग नहीं होने के बाद प्रक्रिया मर जाती है/सो जाती है
- 9. डालने के बाद ऐप इंजन डेटास्टोर में देरी पढ़ें()
- 10. लॉगआउट के बाद Google बैक बटन से कैसे संबंधित है?
- 11. एक बटन के बाद समापन गतिविधियां स्टैक
- 12. अजाक्स लोडिंग सूचक तुरंत दिखाएं लेकिन देरी के बाद
- 13. एंड्रॉइड: बटन
- 14. एंड्रॉयड देरी क्लिक के ListView
- 15. जबकि() डाली
- 16. एंड्रॉइड: एनीमेशन के बाद दृश्य देखें?
- 17. START_STICKY, अग्रभूमि एंड्रॉइड सेवा नोटिस के बिना दूर जाती है
- 18. एंड्रॉइड बटन
- 19. क्लिक पर या देरी के बाद jQuery फीडआउट
- 20. संकलन विफल रहता है अगर किसी अन्य प्रोजेक्ट में प्रतिनिधि परिभाषाएं डाली जाती हैं?
- 21. फोर्स बटन क्लिक करने के बाद
- 22. सबमिट बटन का उपयोग करना के बाद
- 23. देरी
- 24. एंड्रॉइड बटन
- 25. बटन एंड्रॉइड
- 26. एंड्रॉइड न्यूमेरिक अपडाउन बटन है?
- 27. बटन एंड्रॉइड
- 28. एंड्रॉइड बटन एनीमेशन
- 29. अधिसूचना गायब हो जाती है - एंड्रॉइड डाउनलोड मैनेजर
- 30. केंद्र टेक्स्ट एंड्रॉइड बटन
लेकिन एक 5 सेकंड की देरी उपयोगकर्ता एप्लिकेशन होने का आभास दे सकता है गैर-उत्तरदायी –
यदि ऑडियो की लंबाई में परिवर्तन होता है, तो शायद आप मीडिया प्लेयर पर कॉलबैक पर विचार कर सकते हैं - http://stackoverflow.com/questions/6001497/calling-another-activity-when-mediaplayer-get-finished-playing - गतिविधि को कॉल करने के बजाय, आप अपने बटन –
को फिर से सक्षम कर सकते हैं 'CountDownTimer' – Houcine