بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

استفاده از Thread برای بازکردن با تأخیر یک Activity

underomeda  13 سال پیش  13 سال پیش

سلام استاد من میخوام با استفاده از therad یک اکتیویتی دیگرو صدا بزنم اینم سورس اما برنامه کرش میکنه ممنون میشم راهنمایی کنید.


Thread splashTread = new Thread() {
@Override
public void run() {
try {
int waited = 0;
while (_active && (waited < _splashTime)) {
sleep(100);
if (_active) {
waited += 100;
}
}
}
catch (InterruptedException e) {
// do nothing
} finally {
finish();
Intent intent = new Intent(ActivityMain.this, ActivitySecond.class);
ActivityMain.this.startActivity(intent);
}
}
};
splashTread.start();



 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
uncocoder  13 سال پیش

بلاک درون finally هم در thread اجرا میشه. برای باز کردن Activity جدید نیاز هست که در UI Thread کد اجرا بشه. پس بلاک درون finally ( که برای بازکردن Activity هست ) را درون متد post نمونه Handler اجرا کن. آموزش دقیق در همزمانی ارائه شده.
مرسی استاد مشکلو پیدا کردم همین الان. آموزشها عالیه یه چیز کوچیکو جا انداخته بودم (13 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .