Tengo una AsyncTask, que llena una Lista personalizada con datos analizados de Internet.¿Cómo iniciar correctamente la actividad desde PostExecute en Android?
En PostExecute llené esa lista y la preparo para transferirla a una nueva actividad.
lo hago de esta manera:
@Override
protected void onPostExecute(List<VideoDataDescription> result)
{
super.onPostExecute(result);
MainActivity.progressDialog.dismiss();
context.startActivity(new Intent(context, ResultsQueryActivity.class));
}
donde el contexto
private Context context;
En LogCat después de ejecutar este código consigo un java.lang.NullPointerException. ¿Es esto posible y correcto comenzar una actividad como lo hago?
UPD He añadido
private Context mContext;
public YoutubeAndYahooParser(Context context)
{
super();
this.mContext = context;
}
inicializar el contexto y llamar
YoutubeAndYahooParser youtubeAndYahooParser = new YoutubeAndYahooParser(ResultsQueryActivity.this);
youtubeAndYahooParser.execute("my string to pass in asynctak");
Después de esto en PostExecute
Intent intent = new Intent(mContext, ResultsQueryActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
añadí nueva bandera debido a que tengo en LogCat el siguiente:
* Llamar a startActivity() desde fuera del contexto de una actividad requiere el indicador FLAG_ACTIVITY_NEW_TASK. ¿Es esto realmente lo que quieres? *
¿Estoy en lo cierto?
cómo ha inicializado 'context'? – Vladimir
Parece ser, no. ¿Cómo hacer inicializar el contexto? –
ver la respuesta de dhaag23 – Vladimir