آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

غیر فعال کردن یک button حین اجرای یک ترد یا async task

best_programmer  11 سال پیش  11 سال پیش
0 0

یه button داریم که برای onClickListener ست شده یه asynctask فرا خوانی بشه

میخوام حین اجرای فراخانی دکمه disable بشه تا کاربر نتونه دوباره فراخانی کنه و بعد از اتمام ترد دوباره دکمه فعال بشه

لطفا یک راهی بجز این بگید که button رو public و به صورت فیلد تعریف کنم و تو ترد فعال کنم.

مرسی

0 0
دکمه شما میتونه priavte باشه و با استفاده از Interface به هدفتون برسید. (11 سال پیش)
0 0
میشه یکم بیشتر توضیح بدید؟ (11 سال پیش)
0 0
میشه یکم بیشتر توضیح بدید؟با interface این کارو بکنم (11 سال پیش)
0 0
مبحث Interface در آموزش ها چندین بار استفاده شده و کار سختی نیست. (11 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
0 0

خوب میتونی وقتی رو button کلیک میشه خود دکمه رو غیر فعال کنی و زمانی که کار ترد تموم شد دکمه رو فعال کنی

button.setEnabled(true);                                                                                                                      برای فعال کردن

button.setEnabled(false);                                                                                                              برای غیر فعال کردن

0 0
اون وقت دکمه رو باید به صورت فیلد تعریف کنم که بشه بهش دسترسی پیدا کرد که اینو نمیخام (11 سال پیش)
پاسخ به سوال 
CodeMaster  11 سال پیش
0 0

راهی که به ذهنم میرسه اما ممکنه درست نباشه:
شما می تونید از Flag استفاده کنید یعنی وقتی برای اولین بار روی دکمه کلیک شد این Flag مقدارش True بشه و بیاید بگید که اگه مقدار این Flag برابر با True بود دکمه رو Disable کنه و اگه False بود Enable و در نهایت در AsyncTask در متد OnPostExecute بیاید بگید که این Flag مقدارش False بشه.

0 0
راه شما هم درسته ولی اگه بخام یه int یا bool رو از OnpostExecute بگیرم دیگه کارم async task از کار میفته این رو هم امتحان کردم (11 سال پیش)
0 0
راه شما هم درسته ولی اگه بخام یه int یا bool رو از OnpostExecute بگیرم دیگه کارم async task از کار میفته این رو هم امتحان کردم (11 سال پیش)
0 0
جالبه بدونید که یه async task قبل از هانی کامب فقط میتونه یه بار execute بشه و بعد از هانی کامب فقط 5 بار (11 سال پیش)
0 0
یه را دیگه هم هست اینه که بگیم: if(asyncTask.getStatus()==AsyncTask.Status.PENDING) asyncTask.execute(); که این روش هم متاسفانه جواب نمیده (11 سال پیش)

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