2013-06-22 4 views
3

doInBackground이 완료되면 onPostExecute이 호출되지 않습니다. 진행 상황을 게시하려고 시도하면 onProgressUpdate도 호출되지 않습니다.Android, AsyncTask, onProgressUpdate 및 onPostExecute가 호출되지 않음

백그라운드에서 아무것도 수행하지 않지만 텍스트를 로깅하지만 두 가지 방법 모두 호출되지 않는 asyncTask를 다시 만들었습니다.

new MyAsyncTask().execute("Test"); 

AsyncTask를 : 여기에

내 코드

public class MyAsyncTask extends AsyncTask<Object, Integer, Void> { 

@Override 
protected Void doInBackground(Object... params) { 
    Log.d("MyAsyncTask","doInBackground"); 
    publishProgress(1); 
    return null; 
} 

@Override 
protected void onPostExecute(Void result) { 
    Log.d("MyAsyncTask","onPostExecute"); 
    super.onPostExecute(result); 
} 

@Override 
protected void onProgressUpdate(Integer... values) { 
    Log.d("MyAsyncTask","onProgressUpdate"); 
    super.onProgressUpdate(values); 
}} 

이며, 여기에 내가

new MyAsyncTask().execute(); 
+0

'AsyncTask'를 게시하고 어떻게 호출해야합니까? 그렇지 않으면이 "질문"에 대한 대답이 없을 수 있습니다 – codeMagic

+0

코드는 어디에 있습니까? – SimonSays

+0

로그에 의존하여 메소드가 호출되지 않았거나 중단 점 설정을 시도했는지 알고 있습니까? – codeMagic

답변

1

시도는, 모든 일이 잘 작동 ... 난 이유를 모르겠어 그러나 그것은 나를 위해 그것을 해결했습니다.

1

메인/UI 스레드에서 작업을 실행 호출하는 방법입니다

public class MyAsyncTask extends AsyncTask<String, Integer, String> { 

    protected void onPreExecute() { 
     Log.d("MyAsyncTask","MyAsyncTask Started"); 
    } 

    protected String doInBackground(String... params) { 
     Log.d("MyAsyncTask",params[0] + " in background."); 
     publishProgress(params[0]); 
     return null; 
    } 

    protected void onProgressUpdate(Integer... values) { 
     Log.d("MyAsyncTask","onProgressUpdate - " + values[0]); 
    } 

    protected void onPostExecute(String result) { 
     Log.d("MyAsyncTask","onPostExecute " + result); 
    } 
} 
+0

그게 내가하는 일이야. onPreExecute가 호출되었지만 onProgressUpdate 및 onPostExecute는 호출되지 않습니다. –

0

여전히 관련있는 경우 : 및 프로젝트에 다시 추가 제거하여 나는이 프로젝트에 날리고 항아리를 사용했다 publishProgress(Integer.valueOf(1))

관련 문제