私はAsyncTaskを持っています。これはインターネットからの解析されたデータでカスタムリストを埋めます。AndroidでPostExecuteから正しくアクティビティを開始するにはどうすればよいですか?
PostExecuteでは、私はそのリストを記入し、それを新しいアクティビティに転送する準備をします。
@Override
protected void onPostExecute(List<VideoDataDescription> result)
{
super.onPostExecute(result);
MainActivity.progressDialog.dismiss();
context.startActivity(new Intent(context, ResultsQueryActivity.class));
}
文脈LogCatで
private Context context;
このコードを実行した後、私はjava.lang.NullPointerExceptionが出ます:
私は、このようにそれを行います。 これは可能なのですが、アクティビティを開始するのは正しいですか?私は、コンテキストを初期化し、PostExecute
Intent intent = new Intent(mContext, ResultsQueryActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
でこの後
YoutubeAndYahooParser youtubeAndYahooParser = new YoutubeAndYahooParser(ResultsQueryActivity.this);
youtubeAndYahooParser.execute("my string to pass in asynctak");
を呼び出すために
private Context mContext;
public YoutubeAndYahooParser(Context context)
{
super();
this.mContext = context;
}
を追加した
UPD 私が持っているのので、私は新しいフラグを追加しましたLogCatで次の:
*アクティビティコンテキストの外部からstartActivity()を呼び出すには、FLAG_ACTIVITY_NEW_TASKフラグが必要です。これは本当にあなたが望むものですか?*
私はそうですか?
どのように 'context'を初期化しましたか? – Vladimir
と思われます。コンテキストを初期化するには? –
dhaag23の回答を参照してください – Vladimir