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

کنسل کردن AsyncTask با زدن دکمه Back

Hossein Kurd  11 سال پیش  11 سال پیش
+2 0

برای کنسل کردن AsyncTask با استفاده از دکمه Back چه راهی وجود داره؟

0 0
دکمه escape کدوم میشه؟ تو رابط کاربریت دکمه ای طراحی کردی؟ (11 سال پیش)
0 0
دکمه Back، اصلاح شد، شما بذار پای خستگی (11 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
کاشی زاده  11 سال پیش
+2 0

سلام ، شما باید در onPause () از دستور زیر برای بستن ASyncTask استفاده کنید : 

 myAsync.cancel(true);

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

if(myAsunc.isCancelled())

0 0
AsyncTask که onPause نداره، می مونه Activity، اونجا استفاده کنم؟ (11 سال پیش)
+1 0
من کد اسینک رو توی اکتویتی نوشتم . شما میتونید جداش کنید و استفاده از یه متغیر بولین و یا لیسنر همین کار رو بکنی (11 سال پیش)
0 0
متاسفانه به جواب نرسیدم (11 سال پیش)
+1 0
دقیقا مشکل کجاست ؟ (11 سال پیش)
0 0
پروگرسبار بسته نمی شه و پروسه قطع نمی شه (11 سال پیش)
0 0
چجوری برای زمانی که پروگرس دیالوگ در حال اجراست دکمه بک رو تعریف کنم؟ (11 سال پیش)
پاسخ به سوال 
Hossein Kurd  11 سال پیش
0 0

اینم جواب

//Activity
public static AT_GetItem ws_get_item;

@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
// ws_get_item.progressDialog.dismiss();
ws_get_item.cancel(true);
G.currentActivity.finish();
}

// AsyncTask

@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();

progressDialog = ProgressDialog.show(G.currentActivity, "",
"درحال ارتباط با سرور، لطفا چند ثانیه منتظر بمانید...", true);
progressDialog.setCancelable(true);
progressDialog.setOnCancelListener(new OnCancelListener() {

@Override
public void onCancel(DialogInterface dialog) {
// TODO Auto-generated method stub
cancel(true);
}
});
}

@Override
protected void onCancelled() {
// TODO Auto-generated method stub
G.currentActivity.finish();
super.onCancelled();
}



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