С точки зрения фактической ошибки здесь, если parseYouTubeAndYahoo
класс является нестатическим внутренним классом внутри вашей Деятельности, то вам нужен экземпляр включающего класса для создания экземпляра внутреннего класса. Итак, вам понадобится:
MainActivity myActivity = new MainActivity();
MainActivity.parseYouTubeAndYahoo asyncTask = myActivity.new parseYouTubeAndYahoo();
Однако ....
Вы действительно не должны создавать экземпляры нестатических внутренних классов ваших Деятельностей вне Activity
, потому что для того, чтобы создать экземпляр нестатического внутреннего класса, вы должны на самом деле создать экземпляр включающего класса, который в этом случай, это деятельность. Действия должны быть начаты, а не созданы с помощью new
. Если у вас есть AsyncTask
, который вы хотите использовать в разных местах, то создайте новый класс верхнего уровня, который расширяется от AsyncTask
.
(Пример создания повторно используемого AsyncTasks
см. https://github.com/levinotik/ReusableAsyncTask)
Обратите внимание, что синтаксис, который вы пытались использовать, БУДЕТ работать, если вам нужно захватить вложенный класс static . Это связано с тем, что в таком случае внешний класс на самом деле просто действует как пространство имен, но вложенный класс, поскольку он статический, на самом деле не нуждается в ссылке на экземпляр внешнего класса. Таким образом:
OuterClass.StaticNestedClass nestedObject =
new OuterClass.StaticNestedClass();
- правильный синтаксис для получения экземпляра статического вложенного класса.