Вызвать AsyncTask из статического класса

У меня есть статический класс, который должен вызывать другой, первый является статическим и мешает мне вызвать второй со следующей ошибкой:

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

    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 ответа

Ты можешь попробовать new Studies().new DownloadFileAsync().execute("SOME URL");

но это не совсем ООП стиль

Это старый вопрос, но если кому-то все еще интересно, вместо определения AsyncTask внутри вашего статического класса, вы можете определить его в своем собственном файле, и это будет сделано.

Вы видели этот ответ? ответ ссылку

Другие вопросы по тегам