JSONを使用してデータをキャッチするときに進行状況ダイアログを作成しようとしています。しかし、それは常に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)
私はインターネットを検索しようとしてきましたが、これに対する解決策を見つけました。ありがとう..