2016-03-18 7 views
-1

私は画像上で何らかの処理を行うアプリケーションを持っています。その後、テキストをデータベースに投稿します。私は現在、1 AysncTaskを使ってこれを行っています。今私がしようとしているのは、処理とWeb接続を2つのAsyncTaskに分割することです。画像が処理された後、確認ダイアログを表示して、投稿するテキストが正しいことを確認します(編集するオプションなど)。今私は、AsyncTask内からダイアログを表示するのが悪いことを読んだので、それが2つを使用する理由です。2 AsyncTasksの間に進捗ダイアログがある

私は何を求めているのですか?ダイアログを使ってこれらの2つのタスクを生成する正しい方法はありますか?

答えて

1

今、私はAsyncTask内からダイアログを表示する 悪い

であることを読みました

onPostExecute() UI要素を処理するために使用できます。ここでダイアログを表示することができます。しかし、ダイアログを表示する前に、AsyncTaskを含むアクティビティ/フラグメントが破壊された場合、エラーが発生するため、アクティビティ/フラグメントコンテキストがまだ存在するかどうかをチェックする必要があります。

ダイアログでユーザーが行った操作に基づいて、ウェブ操作用に新しいAsynctaskを開始することができます。

+0

私は、アクティビティのコンテキストをAsyncTaskに渡している場合、その参照がnullであるかどうかの確認はOKですか? – mike73

+0

はい、あなたは正しいです。 –

2

イメージを処理するAsyncTaskのonPostExecute()メソッドで確認ダイアログを表示し、そこからアクティビティ内のメソッドを呼び出して2番目のAsyncTaskを開始することもできます(またはonPostExecuteから直接呼び出すこともできます) ()それは、ガベージコレクションの面で非常に効率的ではありません。 はそれを試してみて、それはあなたのために働くなら、私に知らせてください。

関連する問題