一个Asynctask用于多个活动?

Nig*_*der 3 android android-asynctask

基本上,我有一个Asynctask用于下载文件.我可以从我的主要UI活动中调用这个,但是如果我想从另一个Activity调用它 - 即一个活动是一个主菜单,带有下载手册的链接,另一个活动是所有可用文档的ListView下载.

我是否必须为此创建另一个Asynctask?

wts*_*g02 6

我猜你在MainActivity中有AsyncTask作为内部类.您可以获取AsyncTask的代码并将其放在一个新文件中,该文件对两个类都是公共的(或可访问的).请记住,您不能多次执行 AsyncTask的实例,但您可以创建AsyncTask的多个实例.

class MainActivity{
new MyTask().execute();
}
Run Code Online (Sandbox Code Playgroud)

.

class DifferentActivity {
  new MyTask().execute();//a new instance
}
Run Code Online (Sandbox Code Playgroud)

.

class MyTask extends AsyncTask{
   public MyTask(Context context){
   }//Pass in context.
}
Run Code Online (Sandbox Code Playgroud)

所有不同的文件.