Ho un AsyncTask, che riempie un Elenco personalizzato con dati analizzati da Internet.Come avviare correttamente l'attività da PostExecute in Android?
In PostExecute riempio questa lista e la prendo pronta per trasferirla in una nuova attività.
lo faccio in questo modo:
@Override
protected void onPostExecute(List<VideoDataDescription> result)
{
super.onPostExecute(result);
MainActivity.progressDialog.dismiss();
context.startActivity(new Intent(context, ResultsQueryActivity.class));
}
cui contesto
private Context context;
In LogCat dopo l'esecuzione di questo codice ottengo un java.lang.NullPointerException. È possibile e corretto avviare un'attività come faccio io?
UPD Ho aggiunto
private Context mContext;
public YoutubeAndYahooParser(Context context)
{
super();
this.mContext = context;
}
inizializzare il contesto e chiamare
YoutubeAndYahooParser youtubeAndYahooParser = new YoutubeAndYahooParser(ResultsQueryActivity.this);
youtubeAndYahooParser.execute("my string to pass in asynctak");
Dopo questo in postExecute
Intent intent = new Intent(mContext, ResultsQueryActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
Ho aggiunto nuova bandiera a causa di che ho avuto in LogCat il prossimo:
* La chiamata di startActivity() dall'esterno di un contesto di attività richiede il flag FLAG_ACTIVITY_NEW_TASK. E 'davvero questo quello che vuoi? *
Ho ragione?
come è stato inizializzato 'context'? – Vladimir
Sembra essere, no. Come fare il contesto di inizializzazione? –
vedere la risposta di dhaag23 – Vladimir