我有两个Activity(mainActivity和downloadActivity),在downloadActivity中有两个AsyncTask。
在downloadActivity中,首先执行getFileAsyncTask来读取JSON文件以添加一些图像,并从这些图像创建一个ListView。如果用户点击图像,则会调用downloadAsyncTask并开始从互联网下载某些内容。
我的问题在于:当第二个AsyncTask正在运行时,我回到mainActivity再返回downloadActivity时,第一个AsyncTask不会被调用,直到downloadAsyncTask完成。
在downloadActivity中,首先执行getFileAsyncTask来读取JSON文件以添加一些图像,并从这些图像创建一个ListView。如果用户点击图像,则会调用downloadAsyncTask并开始从互联网下载某些内容。
我的问题在于:当第二个AsyncTask正在运行时,我回到mainActivity再返回downloadActivity时,第一个AsyncTask不会被调用,直到downloadAsyncTask完成。
public class downloadActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
...
new getFileAsyncTask().execute();
...
}
private class getFileAsyncTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
//fetch a json file from internet and add images in ListView
return null;
}
}
//there is a Base Adapter class
//if user clicks on an image it calls this downloadAsyncTask.execute()
private class downloadAsyncTask extends AsyncTask<Void, Integer, Void> {
@Override
protected void onPreExecute() {
//download the file
}
}
@Override
protected Void doInBackground(Void... unused) {
//download the file
}
}
注意: 我想写一些类似购物应用程序的东西。例如,用户可以下载文件并浏览商店以查看产品。