2009-01-17 9 views
9

मैं एंड्रॉइड के लिए एक मिलान करने वाला गेम बना रहा हूं, और जब उपयोगकर्ता एक मैच प्राप्त करता है, तो एक संवाद बॉक्स को "मैच" कहकर पॉप अप करना चाहिए। मैं यह नहीं समझ सकता कि यह कैसे करना है। अगर मैं थ्रेड.currentthread() नींद का उपयोग करता हूं, तो संवाद कभी प्रकट नहीं होता है।एंड्रॉइड में समय-समय पर पॉपअप

android.app.AlertDialog a = new android.app.AlertDialog.Builder(match.this).setTitle("Match!").show(); 
Thread.currentthread().sleep(1000); 
a.dismiss(); 

कुछ भी नहीं होता - कार्यक्रम सिर्फ एक सेकंड के लिए लटकता है। मैं इसे सिर्फ 1 सेकंड के लिए पॉप अप करना चाहता हूं, या यदि पॉपअप प्रकार की कोई अन्य चीज है, तो यह भी अच्छा होगा।

उत्तर

16

आप स्क्रीन पर थोड़े समय के लिए पॉपअप में एक टेक्स्ट संदेश दिखाने की कोशिश कर रहे हैं?

अलर्ट टोस्ट इस तरह के लिए महान हैं:

Toast.makeText(this, "Match!", Toast.LENGTH_LONG).show(); 

कि क्या आप के लिए देख रहे हैं? Here is the Java Doc.

+0

बिल्कुल सही! आपका बहुत बहुत धन्यवाद! –

+0

आपका स्वागत है ;-) –

+0

मैंने यह भी किया और इसे प्राप्त किया लेकिन क्या इसे एप्लिकेशन या किसी अन्य स्थान के केंद्र में प्रदर्शित करने के लिए कोई तरीका है? – BIBEKRBARAL

4

संवाद वर्तमान धागे में दिखाया गया है लेकिन आप धागे को सोने के लिए डाल रहे हैं ताकि यह कभी दिखाई न दे। घटना थ्रॉटलिंग के अलावा, ऐसे कुछ मामले हैं जहां आप यूआई थ्रेड से पर्याप्त देरी के साथ नींद को कॉल करना चाहते हैं।

इस मामले में पिछले पोस्टर के सुझाव के अनुसार टोस्ट का उपयोग करना सबसे आसान है। भविष्य में किए गए काम को संभालने के कुछ अन्य तरीके

  • जावा टाइमर। कार्रवाई एक अलग धागे पर
    क्या होगा ताकि आप करने के लिए है सावधान क्या जीयूआई आप
  • दृश्य एक postDelayed कर कॉल हो (Runnable कार्रवाई, लंबे delayMillis) विधि का कारण होगा Runnable मोटे तौर पर के बाद यूआई धागे पर निष्पादित किया जाना है delayMillis।
संबंधित मुद्दे