У меня есть AsyncTask, который заполняет собственный список с помощью проанализированных данных из Интернета.
В PostExecute я заполняю этот список и готов его перенести в новое действие.
Я делаю так:
@Override
protected void onPostExecute(List<VideoDataDescription> result)
{
super.onPostExecute(result);
MainActivity.progressDialog.dismiss();
context.startActivity(new Intent(context, ResultsQueryActivity.class));
}
где контекст
private Context context;
В LogCat после выполнения этого кода я получаю исключение Java.lang.NullPointerException. Возможно ли и правильно ли запустить Activity, как я это делаю?
UPD Я добавил
private Context mContext;
public YoutubeAndYahooParser(Context context)
{
super();
this.mContext = context;
}
для инициализации контекста и вызова
YoutubeAndYahooParser youtubeAndYahooParser = new YoutubeAndYahooParser(ResultsQueryActivity.this);
youtubeAndYahooParser.execute("my string to pass in asynctak");
После этого в PostExecute
Intent intent = new Intent(mContext, ResultsQueryActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
Я добавил новый флаг из-за того, что у меня есть в LogCat следующее:
* Для вызова функции startActivity() из контекста Activity требуется флаг FLAG_ACTIVITY_NEW_TASK. Это действительно то, что вы хотите? *
Я прав?