Android AsyncTask не вызывает onPostExecute

Когда я вызываю свою AsyncTask, doInBackground запускается, но onPostExecute никогда не вызывается впоследствии. Eclipse не жалуется на @Override s или любой из параметров в AsyncTask, поэтому я не уверен, в чем проблема. Может ли кто-нибудь сказать мне, в чем проблема?

Вызов AsyncTask:

 new AsyncDataFetcher(this).execute(productInfoUrls); 

productInfoUrls – это список URL-адресов.

AsyncTask:

 private static class AsyncDataFetcher extends AsyncTask<List<String>, Void, List<JSONObject>> { Context context; public AsyncDataFetcher(Context context) { this.context = context; } @Override protected List<JSONObject> doInBackground(List<String>... urls) { List<JSONObject> jsonList = new ArrayList<JSONObject>(); JSONParser json_parse = new JSONParser(); for (int i = 0; i < urls[0].size(); i ++) { jsonList.add(json_parse.getJSONFromUrl(urls[0].get(i))); } return jsonList; } @Override protected void onPostExecute(List<JSONObject> jsonList) { if(jsonList != null){ productInfoParser.Parse(jsonList); loaded = true; } } } 

Все выглядит правильно в вашей структуре задач async, но то, что вы делаете в doInBackground может занять все время! Я подозреваю, что ваше приложение doInBackground и никогда не заканчивает его.

Я бы добавил несколько журналов отладки, чтобы узнать, как продвигается json.

 @Override protected List<JSONObject> doInBackground(List<String>... urls) { List<JSONObject> jsonList = new ArrayList<JSONObject>(); JSONParser json_parse = new JSONParser(); for (int i = 0; i < urls[0].size(); i ++) { jsonList.add(json_parse.getJSONFromUrl(urls[0].get(i))); Log.d(TAG, "added " + i); } Log.d(TAG, "returning jsonList"); return jsonList; }