として、私はクラス本体を持っていると仮定し.execute文の後AsyncTaskクラスの結果を使用することができます(これは、クラスのちょうどラフなデザインです。)iは
class XYZ
{
//Some Code here
submitBTN.setOnClickListener(..){
ABC obj=new ABC();
obj.execute();
Toast(obj.result).show();
}
class ABC extends AsynTask<String,Void,String>{
String result=null;
..
..
doInBackground(..){
..
..
return "success";
}
onPostExecute(String result){
this.result=result;
}
}
}
私の質問は、ウィルトーストショー「の成功でありますまたは "null"と表示されます。 バックグラウンドで別のスレッドを開始しようとしているので、obj.executeはブロッキングステートメントであるかどうかを示します。 コントロールは.executeステートメントの次のステートメントに移動するか、バックグラウンドスレッドが完了するまで待機しますか?
号インポッシブルを使用することができます。トーストは、asynctaskが実行される前に呼び出され、終了する前に証明されます。そのトーストは、AsyncTaskのonPostExecute()に置く必要があります。 – greenapps
AsyncTaskはブロックされません。結果はおそらくnullになる可能性があります –
AsyncTaskが別のクラスであるため、[OnPostExecute()の結果をメインアクティビティに取得する方法]の可能な複製?](http://stackoverflow.com/questions/12575068/how-to- asynctask-is-a) –