كيفية استدعاء دالة مع تأخير في Android (Java)
مرحباً بالجميع! أنا مبتدئ في تطوير Android وأكتب بلغة Java. واجهت مشكلة: أحتاج بعد الضغط على زر إلى ظهور رسالة Toast على الشاشة، ولكن ليس فوراً، بل بعد 3 ثوانٍ. جربت استخدام Thread.sleep(3000) في سلسلة UI، لكن التطبيق يتجمد ولا تظهر الرسالة. قرأت أنه لا يمكن فعل ذلك.
إليك الكود الخاص بي:
```java
public void onClick(View v) {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Toast.makeText(this, "مرحباً بعد 3 ثوانٍ!", Toast.LENGTH_SHORT).show();
}
```
من الواضح أن Thread.sleep يمنع السلسلة الرئيسية، ولا يتم تحديث واجهة المستخدم. كيف يمكن تنفيذ التأخير بشكل صحيح دون تجميد التطبيق؟ رأيت إشارات إلى Handler و Timer، لكنني لا أفهم كيفية تطبيقهما بشكل صحيح في هذا السيناريو البسيط. سأكون ممتناً لمثال مفصل مع شرح.
<<>>
استخدام Handler للتنفيذ المؤجل
المشكلة في الكود الخاص بك هي حظر