2 つの非同期タスクを開始したいのですが、実行されるのは 1 つだけです。LogCat の出力は次のようになります。
firstAsync started
secondAsync started
secondAsync ends
firstAsync ends
end
しかし、LogCat の出力は
firstAsync started
end
これは、secondAsync が実行されたことがないことを示しています。Javaコードは次のとおりです。
package com.example.async;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.app.Activity;
public class MainActivity extends Activity {
public boolean stopAsync=false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new firstAsync().execute();
new secondAsync().execute();
Log.e("end","end");
}
class firstAsync extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
Log.e("firstAsync started","firstAsync started");
while(!stopAsync)
{
}
Log.e("firstAsync ends","firstAsync ends");
return null;
}
}
class secondAsync extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
Log.e("secondAsync started","secondAsync started");
stopAsync = true;
Log.e("secondAsync ends","secondAsync ends");
return null;
}
}
}
それで、問題は、どうすれば複数の非同期タスクを開始できるかということです。助けていただければ幸いです。よろしくクリス