2012-03-17 18 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()で著作ない理由doInBack()から、それはこれだけチェック今すぐログイン

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

を入れますあなたのlogcat ... が表示されている場合、AsyncTaskはうまくいきます。

+0

ご協力いただきありがとうございます。トーストはドゥーバックグローンの中に置かれ、静かに止まると例外を投げていたようです。 – user1092042

関連する問題