从静态类调用AsyncTask

时间:2012-07-12 12:23:11

标签: android android-asynctask static-class

我有一个需要调用另一个的静态类,第一个是静态的,并且阻止我使用以下错误调用第二个:

No enclosing instance of type Studies is accessible. Must qualify the allocation with an enclosing instance of type Studies (e.g. x.new A() where x is 
 an instance of Studies).

AsyncTask类

    class DownloadFileAsync extends AsyncTask<String, String, String> {

        @Override
        protected void onPreExecute() {}

        @Override
        protected String doInBackground(String... aurl) {}
    }

静态类

     public static void startDownload(int id) {
         ERROR LINE--> new DownloadFileAsync().execute("SOME URL");
   }

谢谢!

3 个答案:

答案 0 :(得分:1)

您可以尝试new Studies().new DownloadFileAsync().execute("SOME URL");

但它并不完全是OOP风格

答案 1 :(得分:0)

你看到了这个答案吗? answe link

答案 2 :(得分:0)

这是一个老问题,但如果有人仍然感兴趣,而不是在静态类中定义您的AsyncTask,您可以在自己的文件中定义它,并且可以这样做。