Коллеги, у меня такой вопрос: 1. В первом классе у меня есть
public class parseYouTubeAndYahoo extends AsyncTask<String, Void, List<VideoDataDescription>>
парсинг данных из интернета. Но мне нужно вызвать метод execute() этого класса из другого класса. При попытке правильно написать такой код:
new MainActivity.parseYouTubeAndYahoo().execute("someURL");
У меня следующее сообщение об ошибке от Eclipse
No enclosing instance of type MainActivity is available. Необходимо квалифицировать выделение с помощью вложенного экземпляра типа MainActivity (например, x.new A(), где x - экземпляр MainActivity).
и на самом деле эта проблема для меня окутана туманом. Как вызвать этот метод из другого класса?
Я полагаю, что ваш класс parseYouTubeAndYahoo
является внутренним классом в классе MainActivity
, в Java вы должны создать экземпляр объекта внутреннего класса с помощью new MainActivity().new parseYouTubeAndYahoo()
, поэтому вызовите этот метод следующим образом new MainActivity().new parseYouTubeAndYahoo().execute("someURL");
Я также предполагаю, что MainActivity
расширяет класс Activity
, поэтому я думаю, что ответ должен быть this.new parseYouTubeAndYahoo().execute("someURL");
, когда вы просто вызываете этот метод внутри своего класса MainActivity
.
Ссылка контекста действия на другой класс и использование его.
Например: public oneofconstructer (Context ctx, .....)