我想在使用JSON捕捉數據時進行對話。 但它總是返回null。下面是代碼:Android ProgressDialog返回null
class NetWork extends AsyncTask<Void, Void, ArrayAdapter<?>> {
private ProgressDialog pd;
public void Network() {
try {
ServiceStations service = new ServiceStations();
service.load(WorkshopActivity.this.getApplicationContext());
} catch (IOException e) {
// do nothing
e.printStackTrace();
} catch (JSONException e) {
// do nothing
e.printStackTrace();
}
pd = new ProgressDialog(WorkshopActivity.this);
pd.setMessage("Load");
pd.setCancelable(false);
pd.setCanceledOnTouchOutside(false);
}
@Override
public ArrayAdapter<?> doInBackground(Void... params) {
@SuppressWarnings({ "unchecked", "rawtypes" })
final ArrayAdapter<?> areaAdapter = new ArrayAdapter(
WorkshopActivity.this, android.R.layout.simple_list_item_1,
ServiceStations.getAreaList());
return areaAdapter;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
try {
pd.show(); // this returns null
} catch (NullPointerException e) {
// TODO: handle exception
e.printStackTrace();
}
}
@Override
public void onPostExecute(ArrayAdapter<?> areaAdapter) {
/*
* if (dialog.isShowing()) { dialog.dismiss(); }
*/
list = (ListView) findViewById(R.id.listWorkshopCity);
list.setAdapter(areaAdapter);
adapter = areaAdapter;
}
}
這裏是堆棧跟蹤:
07-15 04:34:15.006: W/System.err(3393): java.lang.NullPointerException
07-15 04:34:15.006: W/System.err(3393): at com.jatismobile.iklaim.activities.WorkshopActivity$NetWork.onPreExecute(WorkshopActivity.java:74)
07-15 04:34:15.026: W/System.err(3393): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:586)
07-15 04:34:15.026: W/System.err(3393): at android.os.AsyncTask.execute(AsyncTask.java:534)
07-15 04:34:15.036: W/System.err(3393): at com.jatismobile.iklaim.activities.WorkshopActivity.onCreate(WorkshopActivity.java:102)
我一直試圖在互聯網上搜索,但我已經找到了解決這一 任何幫助將apreciated。感謝..
您是否僅使用Network Constructor創建了一個asynctask實例? – KDeogharkar