首先,请注意所有AsyncTask实现的方法附带的“ @override”标头,例如
private class loadMoreListView extends AsyncTask<Void, Void, Void> { ProgressDialog pDialog; @Override protected void onPreExecute() { // TODO Auto-generated method stub super.onPreExecute(); pDialog = new ProgressDialog(SingleMenuItemActivity.this); pDialog.setMessage("Please Wait ..."); pDialog.isIndeterminate(); pDialog.setCancelable(false); pDialog.show(); } @Override protected Void doInBackground(Void... params) { // TODO Auto-generated method stub return null; } @Override protected void onPostExecute(Void result) { // TODO Auto-generated method stub super.onPostExecute(result); pDialog.cancel(); }}除非您必须在UI上执行某些操作,否则还要从doInBackground中删除它。
runonUiThread(new Runnable() { public void run() { // do something for downloading } });您无法在runOnUiThread上进行任何下载操作。doInBackground用于运行后台任务,例如对UI不可见的下载等。



