从适配器类(非活动类)访问AsyncTask

时间:2013-04-03 10:37:22

标签: android android-asynctask

我在我的Activity类中创建了AsyncTask它运行正常。我的问题是我必须从适配器类访问相同的AsyncTask我该怎么做。请提供任何解决方案。  在此先感谢.....

1 个答案:

答案 0 :(得分:1)

为AsyncTask创建一个单独的类,如下所示

文件:DownloadFilesTask.java

public class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
     protected Long doInBackground(URL... urls) {
          ---
          ---
     }
}

在您的活动中,初始化AsyncTask的对象并在需要时执行它。您可以在适配器类中执行相同的操作。

请注意,根据线程规则,必须在UI线程上加载AsyncTask类,并且必须在UI线程上创建任务实例。要解决此问题,只需在您的活动的onCreate方法上初始化AsyncTask的对象(无论您是否计划在活动中使用它,但如果您想在活动之外使用它,则必须创建AsyncTask的对象)< / p>