ネストされた AsyncTask があります。この簡単な例は、それらが機能することを証明しています: http://pastebin.com/0R9Cfxx1
ただし、本番環境のコードでは、ネストされた AsyncTask は getStatus == AsyncTask.RUNNING を返しますが、doInBackground() は実行されません。
どうすればいいの?
ネストされた AsyncTask があります。この簡単な例は、それらが機能することを証明しています: http://pastebin.com/0R9Cfxx1
ただし、本番環境のコードでは、ネストされた AsyncTask は getStatus == AsyncTask.RUNNING を返しますが、doInBackground() は実行されません。
どうすればいいの?
私が AsyncTask を理解している方法では、「doInBackground()」が実行される別のスレッドを作成するメイン アプリケーション スレッドから実行することになっています。ここで、ネストされた AsyncTask を別の AsyncTask 内で実行すると、メイン アプリ スレッド、最初の AsyncTask スレッド、および 2 番目の AsyncTask スレッドの合計 3 つのスレッドが最小になります。それらはすべて並行して実行されるため、「入れ子」の概念が崩れます。AsyncTask を 1 つだけ使用するようにコードをリファクタリングするのが最善の方法だと思います。