Как правильно запустить действие из PostExecute в Android?

У меня есть AsyncTask, которая заполняет настраиваемый список проанализированными данными из Интернета.

В PostExecute я заполняю этот список и подготавливаю его для передачи в новое действие.

Я делаю это так:

@Override
protected void onPostExecute(List<VideoDataDescription> result) 
{
    super.onPostExecute(result);
    MainActivity.progressDialog.dismiss();

    context.startActivity(new Intent(context, ResultsQueryActivity.class));


}

where context

    private Context context;

В LogCat после выполнения этого кода я получаю исключение Java.lang.NullPointerException. Возможно ли и правильно ли запускать действие, как это делаю я?

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. Это действительно то, что вы хотите? *

Я прав?

21
задан Kheldar 12 November 2012 в 09:37
поделиться