我正在調用Asynctask從Json服務獲取響應並在後執行中設置列表。它的工作正常,但當我打開任何其他應用程序,然後再次打開我的應用程序。我在執行後得到NPE。任何想法爲什麼發生。任何幫助將不勝感激。當應用程序在後臺時異步任務崩潰
public class AsyncTaskParks extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
utility.showProgress(getActivity(), "Please Wait", "Loading..");
}
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
String response = mServiceHandler
.getSoapResponseByMethod("GetSiteList");
Log.d("Response: ", "> " + response);
if (response != null) {
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray rows = jsonObject.getJSONArray("Rows");
for (int i = 0; i < rows.length(); i++) {
JSONObject c = rows.getJSONObject(i);
infoParks = new InfobeanParks();
String siteId = c.getString("SiteID");
infoParks.setSiteId(siteId);
String siteType = c.getString("SiteType");
infoParks.setSiteType(siteType);
String siteName = c.getString("SiteName");
infoParks.setSiteName(siteName);
String siteShortName = c.getString("SiteShortName");
infoParks.setSiteShortName(siteShortName);
String siteImage = c.getString("SiteImage");
infoParks.setSiteImage(siteImage);
if (siteType.equalsIgnoreCase("P")) {
lstPark.add(infoParks);
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return response;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
utility.dismissProgress();
gridviewParks.setAdapter(new GridviewParksAdapter(getActivity(),
lstPark));
}
}
08-28 00:58:15.911: E/AndroidRuntime(3720): FATAL EXCEPTION: main
08-28 00:58:15.911: E/AndroidRuntime(3720): Process: com.oceancity.ocparks, PID: 3720
08-28 00:58:15.911: E/AndroidRuntime(3720): java.lang.NullPointerException
08-28 00:58:15.911: E/AndroidRuntime(3720): at com.ocparks.adapter.GridviewParksAdapter.<init>(GridviewParksAdapter.java:47)
08-28 00:58:15.911: E/AndroidRuntime(3720): at com.ocparks.FragmentParks$AsyncTaskParks.onPostExecute(FragmentParks.java:201)
08-28 00:58:15.911: E/AndroidRuntime(3720): at com.ocparks.FragmentParks$AsyncTaskParks.onPostExecute(FragmentParks.java:1)
08-28 00:58:15.911: E/AndroidRuntime(3720): at android.os.AsyncTask.finish(AsyncTask.java:632)
08-28 00:58:15.911: E/AndroidRuntime(3720): at android.os.AsyncTask.access$600(AsyncTask.java:177)
08-28 00:58:15.911: E/AndroidRuntime(3720): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
08-28 00:58:15.911: E/AndroidRuntime(3720): at android.os.Handler.dispatchMessage(Handler.java:102)
08-28 00:58:15.911: E/AndroidRuntime(3720): at android.os.Looper.loop(Looper.java:136)
08-28 00:58:15.911: E/AndroidRuntime(3720): at android.app.ActivityThread.main(ActivityThread.java:5086)
08-28 00:58:15.911: E/AndroidRuntime(3720): at java.lang.reflect.Method.invokeNative(Native Method)
08-28 00:58:15.911: E/AndroidRuntime(3720): at java.lang.reflect.Method.invoke(Method.java:515)
08-28 00:58:15.911: E/AndroidRuntime(3720): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
08-28 00:58:15.911: E/AndroidRuntime(3720): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
08-28 00:58:15.911: E/AndroidRuntime(3720): at dalvik.system.NativeStart.main(Native Method)
什麼是'gridviewParks'?以及如何找到它?發佈完整的代碼。 – 2014-08-27 23:02:28