我有一个程序,我咨询谷歌电子表格,我在AsyncTask中做,但是非常慢,所以我想放一个ProgressDialog,我在onPreExecute方法上显示但我的程序不能执行doInBackground方法,怎么样我可以看到应用程序进入这个方法thaks到Log.i,但什么都不做,我可以看到进度对话框,但没有别的,它就像一个无限的bucle
我的AsyncTask是这样的:
private class GestionDatos extends AsyncTask<Void, Void, ArrayList<String>> {
@Override
protected void onPreExecute(){
super.onPreExecute();
mProgress = ProgressDialog.show(MainActivity.this, "Trabajando", "Espere por favor");
}
@Override
protected ArrayList<String> doInBackground(Void... params) {
SpreadsheetService service = new SpreadsheetService("com.banshee");
ArrayList<String> nombres = new ArrayList<String>();
String idAnterior = "idAnterior";
try {
String urlString = "My URL";
URL url = new URL(urlString);
ListFeed feed = service.getFeed(url, ListFeed.class);
for (ListEntry entry : feed.getEntries()) {
CustomElementCollection elements = entry
.getCustomElements();
String id = elements.getValue("Codigo");
if (idAnterior.compareTo(id) != 0) {
idAnterior = id;
String name = elements.getValue("Profesor");
nombres.add(name);
}
}
} catch (IOException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
}
return nombres;
}
@Override
protected void onPostExecute(ArrayList<String> result){
super.onPostExecute(result);
mProgress.dismiss();
values = result;
}
}
抱歉我的英语不好,请耐心等待,我是一个菜鸟程序员
答案 0 :(得分:0)
最后这似乎是一个硬件问题,我在一个功能强大的计算机上执行代码并且工作,可能是因为我的应用程序冻结了繁重的工作?我不知道,谢谢