2012-03-17 5 views
0

개체를 만들어 함수에서 호출합니다. 진행률 상자가 나타나고 사라지지만 축배가 표시되지 않습니다. (토스트를 따르는 코드는 제거했지만 해당 코드도 쿼리합니다 웹 페이지는 doinBackground에서 실행되지 않습니다.Android 비동기 작업이 작동하지 않습니다.

private class MyTask extends AsyncTask<Void, Void, Void> { 

    MyTask(String p) { 
     enter=p; 
    } 

    protected void onPreExecute() { 
     progressDialog = ProgressDialog.show(CheckitoutActivity.this,"", "Loading. Please wait...", true); 
    } 

    protected Void doInBackground(Void... params) { 
     try { 
      Toast.makeText(getApplicationContext(), "GHJGFHGJL",1000).show(); 
     } 
    } 


    @Override 
    protected void onPostExecute(Void result) { 
     progressDialog.dismiss(); 
    } 

} 

doInBackground가 호출 될 수 없습니다. 건배도 표시되지 않습니다. 왜 그럴까요? 그래서 사용이 건배를

을 DISPALY 할 수 있도록

+0

작업을 시작 했습니까? 로그에 오류가 있습니까? – zapl

답변

2

doInBackground 메서드에서 토스트 및 대화 경고와 같은 UI를 표시 할 수 없습니다. 대신 asynkTask의 postExecute 메소드에서이 UI를 표시 할 수 있습니다.

+0

도움 주셔서 감사합니다. – user1092042

2

doInBackground 방법은 비 UI 스레드입니다 objMytask.execute();

2

Toast 같은 runOnUIthread(this) 또는 onProgressUpdate.execute() 객체 와 확신, (당신은 UI 스레드를 건드릴 수 없어 하지 doInBackground()의 작품, 그래서 그냥 넣어

protected Void doInBackground(Void... params) { 
try 
{ 
    Log.e("AsyncTask","Inside the doInBackground()"); 
} 
} 

지금 확인 로그인

이유) doInBack()에서 그건 귀하의 logcat ... ProgressDailog이 표시되면 AsyncTask이 잘 작동합니다.

+0

도와 주셔서 감사합니다. 토스트가 doinbackgroung 안에 놓여 조용히 멈 추면 예외가 던져지고있는 것으로 보입니다. – user1092042

관련 문제