Tôi có một AsyncTask, điền vào một Danh sách tùy chỉnh với dữ liệu được phân tích cú pháp từ Internet.Cách khởi động chính xác hoạt động từ PostExecute trong Android?
Trong bài đăngHãy thực hiện Tôi điền vào Danh sách đó và chuẩn bị sẵn sàng để chuyển nó sang một Hoạt động mới.
tôi làm điều đó theo cách này:
@Override
protected void onPostExecute(List<VideoDataDescription> result)
{
super.onPostExecute(result);
MainActivity.progressDialog.dismiss();
context.startActivity(new Intent(context, ResultsQueryActivity.class));
}
nơi bối cảnh
private Context context;
Trong LogCat sau khi thực hiện mã này tôi nhận được một Java.lang.NullPointerException. Điều này có thể và chính xác để bắt đầu Hoạt động khi tôi thực hiện không?
UPD Tôi đã thêm
private Context mContext;
public YoutubeAndYahooParser(Context context)
{
super();
this.mContext = context;
}
để khởi tạo bối cảnh và gọi
YoutubeAndYahooParser youtubeAndYahooParser = new YoutubeAndYahooParser(ResultsQueryActivity.this);
youtubeAndYahooParser.execute("my string to pass in asynctak");
Sau này trong PostExecute
Intent intent = new Intent(mContext, ResultsQueryActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
tôi thêm lá cờ mới vì tôi đã có trong LogCat tiếp theo:
* Gọi startActivity() từ bên ngoài ngữ cảnh Hoạt động yêu cầu cờ FLAG_ACTIVITY_NEW_TASK. Đây có phải là điều bạn thực sự muốn không? *
Tôi có đúng không?
bạn đã khởi tạo 'ngữ cảnh' như thế nào? – Vladimir
Dường như, không. Làm thế nào để khởi tạo ngữ cảnh? –
xem câu trả lời của dhaag23 – Vladimir