"No enclosing instance of type" error while calling method from another class in Android

Коллеги, у меня такой вопрос: 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).

и на самом деле эта проблема для меня окутана туманом. Как вызвать этот метод из другого класса?

23
задан Eugene Shmorgun 29 January 2012 в 14:20
поделиться

2 ответа

Я полагаю, что ваш класс parseYouTubeAndYahoo является внутренним классом в классе MainActivity, в Java вы должны создать экземпляр объекта внутреннего класса с помощью new MainActivity().new parseYouTubeAndYahoo(), поэтому вызовите этот метод следующим образом new MainActivity().new parseYouTubeAndYahoo().execute("someURL");

Я также предполагаю, что MainActivity расширяет класс Activity, поэтому я думаю, что ответ должен быть this.new parseYouTubeAndYahoo().execute("someURL");, когда вы просто вызываете этот метод внутри своего класса MainActivity.

3
ответ дан 29 November 2019 в 01:09
поделиться

Ссылка контекста действия на другой класс и использование его.

Например: public oneofconstructer (Context ctx, .....)

1
ответ дан 29 November 2019 в 01:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: