안드로이드 개발 질문/답변
(글 수 45,052)
asynctask 종료 어떻게해야되나요?
뒤로가기 버튼을 눌렀는데도 계속 돌고있네요
종료하는 방법좀 알려주세요.
onCancel()해도 종료가 안되네요.
뒤로가기 버튼을 눌렀는데도 계속 돌고있네요
종료하는 방법좀 알려주세요.
onCancel()해도 종료가 안되네요.
2010.07.29 01:27:49
AsyncTask.cancel(true) 해 주시면 될듯..
만약 안되시면 보통 스레드 종료시키듯이
밖에서 변수 하나 놓으시고 thread 내부에서 로직 돌때마다 변수 체크해보고
돌던지.. 해야겠죠
2010.07.29 17:04:57
private class ConnectNetwork extends AsyncTask<String, Void, Void> {
protected void onPreExecute() {
showDialog(0);
}
protected void onPostExecute(Void unused) {
removeDialog(0);
}
@Override
protected Void doInBackground(String... sendData) {
return null;
}
protected void onCancelled()
{
super.onCancelled();
}
}
시작과 끝을 분명하게 하면 됩니다. 화면에서 보시면 onPreExecute() 시작하는 부분이고 이 부분에서 다이얼로그 박스 띄어주면되고
onPostExecute() 요 부분에서 다이얼로그 박스 삭제해주시면 됩니다.
doInBackground() 이부분은 실제로 다이얼로그 박스가 보여주는 동안 작업하는 내용 넣으시면 되구요.
onCancelled() 이건 다이얼로그 박스가 보일때 작업 중지 요청 했을 경우 처리해 주는 부분입니다.